成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件工程師的硬件抓狂指南

開發 新聞
本文就從一個軟件工程師的視角,看看接觸硬件時的那些抓狂案例。以及一些解決的辦法。

近期嘗試給服務器做外接硬盤的數據傳輸,期間各個方案依次撞墻,讓我想起了幾年來與硬件打交道的種種挫折。

多硬盤接入

此次的需求是給一臺服務器外接若干硬盤,把數據從外接SSD硬盤送入服務器后拔掉硬盤,換下一個。每天需要接入的硬盤數量和數據量都比較大。所以很容易就撞上各種瓶頸。早期的實現方案是用USB-SATA轉換器,但隨著接的硬盤越來越多,很快供電就開始出問題,導致硬盤連接變得不穩定。SSD雖然耗電量比機械硬盤要低,但也是有5-10W的功耗。于是緊急的處理方法就是買了一堆12V電源,給USB-SATA轉接器接上外部供電。這一點對很多軟件工程師來說還可以接受,但很多人不知道的是,5.5mm的電源接口有兩種規格,內部的針直徑有2.1mm和2.5mm兩種。用2.5mm的插頭接入2.1mm的插座就會松夸,輕輕碰一下就會斷電。而用2.1mm的插頭則根本無法接入2.5mm的插座。

隨后我開始換用機架服務器的方案,需要設計如何把SSD硬盤接入機架服務器。這個機架服務器的前面板有12個3.5寸SATA硬盤的槽位。于是最直觀的想法就是使用其中的4個槽位來接入外部的SSD,反正SATA是支持熱插拔的,這樣傳輸帶寬還更快。但現實很快擋住了去路。把SSD硬盤熱插拔接入這些槽位時,Linux里沒有出現新設備,dmesg里無新信息。最終只能基本判斷,是前面板這些硬盤槽位的RAID卡擋住了熱插拔的去路。所以,SATA有熱插拔的能力,但必須要進行確認,中途是可能被RAID卡擋住的。對一些臺式機來說,也可能在BIOS里把SATA熱插拔禁用了。

在服務器機箱里找其他機會時,發現了一個寬度只有10mm左右的插口,運維確認是SAS硬盤接口。又讓我燃起了希望。問題是,SAS接口接入SATA硬盤的方案。靠譜的方法是買硬盤背板,多個SATA硬盤接入背板后,外面一根SAS接入到主板。正當我從另一臺服務器上拆硬盤背板打算來做試驗時,發現了那個背板上需要一個巨大的電源插口,跟ATX電源接主板那種很寬的插頭很像。但服務器上并沒有提供第二個插口。這意味著我可以把SAS信號線接入到主板,但主板卻沒法給硬盤背板供電。而想要給這玩意供電,意味著還要搞一套很高的ATX電源,機柜里根本放不下。于是該方案因為需要外接ATX電源而放棄,雖然不是完全不可用,但優先級已經很低了。

接著我把目光轉向了PCIE接口。服務器里有2個PCIE3.0x8的插槽。基于這個插槽有兩種方案。一個是買PCIE-SATA轉接卡,可以用一個PCIE插槽擴充出來最多24個SATA口。我之前就考慮過此方案,把轉接卡接入,發現轉接卡是半高的,正好可以放入主板。但坑人的是,轉接卡上部的16個SATA口卻被機箱頂部擋住了。使得轉接卡不被擋住的SATA口只剩下了4個。于是PCIE-SATA方案,卒。使用PCIE延長線將PCIE-SATA轉接卡橫著放,或引入機箱外部也是個辦法。但同樣無法解決硬盤供電問題,搞個ATX電源同樣讓人抓狂。

另一個基于PCIE的方案是PCIE-USB3.0。如果能引出8個USB3.0接口也是不錯的。正當我選型時,發現PCIE-USB轉接卡需要接入一個SATA電源來方便給外部USB供電。而服務器里根本沒有多余的電源接口,一個多余的SATA電源都都沒有。而且,外接硬盤的供電也是同樣的難題。

繼續尋找,主板上有兩個SATA口,看標注是給DOM盤用的,但卻同樣受限于主板上根本就沒有提供額外的電源。直到我在SATA口的旁邊看到了給DOM盤供電的焊盤,注意是焊盤,不是接插件。我對于電烙鐵的使用是很熟悉的,但直接在主板上焊線頭還是有些夸張了。

所以最后呢,打算買5盤位的USB硬盤盒,用外接的小電源,只占用插座空間,不占用機柜空間。這個方案還要祭天才能開始測試,希望順利吧。

模擬視頻采集

這些抓狂的精力,與我幾年前開發DVR時的痛苦何其的相似,激起了痛苦的回憶。2013年時,公司需要個DVR,硬盤錄像機,負責把外部的多路模擬視頻信號錄制進取,完整mp4的打包后上傳給服務器。希望一臺機器可以錄制4路視頻,分辨率壓縮到352x288,1fps,每路視頻也都要帶音頻。

我最直觀的想法是,買個樹莓派,以及USB視頻采集卡。通過USB-HUB來接4個采集卡,樹莓派里用ffmpeg來定制采集參數和視頻壓縮打包。最后上傳就更簡單了。

坎坷從USB采集卡開始。市面上的采集卡我買了20多種。絕大部分采集卡是Windows專用,Linux下根本就沒有驅動。于是,大部分買來的采集卡成了廢品,堆在一邊。這其中唯一一種有Linux驅動的,我費盡艱辛,編譯內核把驅動弄進去了。又要研究v4l2驅動來定制采集參數,減低緩存幀數等等。等到我看到采集的第一幀畫面時,已經過去了兩個月。

下一步是采集4路?想多了。當我試驗把2路采集卡,不經過USB-HUB接入樹莓派時,樹莓派一聲不吭的就滅了。遭遇了供電問題。給系統升級了5V4A的電源。開機后繼續做采集測試,結果第二個采集卡死活沒法開啟。而且第一個采集卡的工作也很不穩定。經過朋友的幫助,才知道,樹莓派第一代上的多個USB口底層是有USB-HUB的,而這個HUB芯片有問題,導致了USB bulk通信的不穩定。樹莓派上位機方案,卒。

趕緊尋找其他嵌入式Linux方案,目光轉向了Cubieboard 1。又是一路刷系統,編譯驅動,見第一幀畫面。等到接入第二個采集卡時,依舊持續報錯不讓開啟。最后確認了,是USB帶寬問題。USB2.0帶寬480Mbps,而一路采集卡就需要占用超過一半帶寬,所以USB控制器就不允許同時開啟兩個視頻采集設備。多路采集卡方案,卒。

下一步如何呢,想到我的電子設計水平可以達到入門級,于是去找模擬開關。打算用Cubieboard 1的GPIO,控制CD4052/74HC4052,使得4路輸入視頻可以用時分復用的方式進入1個采集卡,反正每一路視頻我只需要1fps。就按切換時間最不靠譜的情況,2幀里拿到1幀靠譜的畫面也行。等到設計完視頻切換電路,板子焊接好接入試驗。現實再次是一堵墻。視頻采集卡的輸入視頻在切換輸入信號時,并不會重新同步行、場、幀。導致新的畫面一片亂。想要看到新的畫面,只能關閉視頻采集開再重新打開,這樣就會觸發重新的視頻采集同步動作。然后我發現了,基于v4l2的一次關閉和打開需要0.6-0.7秒。這樣下來1秒無論如何也無法采集到第2路的畫面。

接下來,我甚至考慮過買高速ADC,自己軟件解碼模擬視頻。或者用FPGA來完成采集到信號識別行、場、幀,并把緩存完的幀送入上位機。基于STM32的DCMI來抓取視頻,并用USB-HS送入上位機等。但這些都沒有繼續下來,我就辭職了……

也許的解決辦法

跟硬件打交道,總是會出現一大堆的不可預料障礙,很多障礙甚至是無法逾越,只能廢掉方案。

所以靠譜的思路是,一開始就不能對任何方案有過高的期望。而應該一開始就盡可能的多列出一些方案。試驗的時候,各個方案在經費允許的情況下,并行的采購零配件。三五個方案因為某些限制被廢掉都是正常的,萬不可對一個方案過于死心眼堅持。很多障礙在做試驗之前根本無法預料,比如上面的SATA口被機箱擋住,樹莓派自帶的USB-HUB芯片有問題等等。

最后祝大家的項目順利吧。

責任編輯:張燕妮 來源: 知乎
相關推薦

2022-09-16 08:00:00

軟件工程師求職薪酬

2021-04-22 09:00:00

軟件工程師代碼

2015-02-28 09:46:35

智能硬件

2022-01-16 07:12:30

軟件工程師吵架開發

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2009-02-11 13:15:54

軟件工程師女工程師google

2017-11-09 14:12:44

大數據軟件工程師算法工程師

2010-08-10 13:22:41

2015-06-02 11:29:55

軟件工程師程序員

2009-02-12 11:52:23

軟件工程師職業規劃價值

2023-06-05 10:07:13

軟件工程平臺工程師

2022-04-18 10:13:32

軟件開發寫作

2018-01-09 17:21:18

軟件工程師創業代碼

2015-06-02 04:08:42

軟件工程師私活

2014-08-20 10:24:11

軟件工程師

2009-02-12 14:45:17

軟件工程師

2010-08-10 13:29:58

軟件工程師

2009-02-26 10:49:29

軟件工程師職業生涯職業規劃

2011-05-16 10:05:33

軟件工程師Java工程師

2009-06-29 10:58:08

軟件工程師求職者
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美三级三级三级爽爽爽 | 国产黄色在线 | 日韩三级在线观看 | 国产精品1区2区 | 色综合一区二区三区 | 日韩毛片中文字幕 | 久久国产精品视频观看 | 国产午夜高清 | av资源网站| www.操com | 免费在线观看成人 | 欧美精品在线一区二区三区 | 一区二区日韩 | 中文字幕一区二区三区乱码图片 | 欧美一区2区三区4区公司二百 | av在线天天 | 欧美激情一区二区三级高清视频 | 精品欧美乱码久久久久久1区2区 | 国产午夜亚洲精品不卡 | 人人鲁人人莫人人爱精品 | 成人在线播放 | 国产精品日日做人人爱 | 69精品久久久久久 | 成人精品一区亚洲午夜久久久 | 久久国产精品一区二区三区 | 国产精彩视频 | 欧美视频成人 | 欧美亚洲免费 | 亚洲 欧美 日韩在线 | 午夜av免费| 日本黄色大片免费看 | 97精品超碰一区二区三区 | 国产成人精品999在线观看 | 精品无码久久久久久国产 | 国产视频在线观看一区二区三区 | 日韩精品一区二区在线观看 | 久久精品国产免费 | 国产九一精品 | 成人黄色电影在线观看 | 亚洲高清一区二区三区 | 国产精品欧美一区二区 |