硬體設計專業暑假實習總結

硬體設計專業暑假實習總結

  總結是事後對某一時期、某一專案或某些工作進行回顧和分析,從而做出帶有規律性的結論,它可以促使我們思考,因此,讓我們寫一份總結吧。但是總結有什麼要求呢?以下是小編為大家收集的硬體設計專業暑假實習總結,供大家參考借鑑,希望可以幫助到有需要的朋友。

  今年的暑假是在一個專門為菸草行業製造自動化生產裝置的公司實習。實習的原本計劃是看能不能將ARM+Linux這樣的軟硬體平臺應用到菸草行業中。

  我們總共三個人,我和我們班的一個,還有一個研究生,實現的地方由導師安排。 實習的公司叫“圭彬光電”,公司有兩處工作地點,我們所在的這一處位於寶雞市高新區,主要做菸草行業自動控制裝置和系統管理軟體。

  在這裡,我們被安排在硬體設計部門。起初覺得完全和自己所學的不同,覺得公司的安排真是不合理。起初幾天也沒什麼事,期間我們從資料室借來了公司以前使用ARM7做的“張力控制板”,資料很完整,從硬體設計到軟體程式和除錯。其中給了硬體原理圖。起初一看就傻眼了,雖然在之前也零星的看過一下原理圖,可都是比較小的,現在整個一個系統硬體圖擺在眼前,連線錯綜複雜,使用的晶片又多,並且結合設計資料看的時候,其中的許多專業概念一點都沒有。忽然覺得自己學的簡直太少了,知道的太少了。在學校的時候,就軟體方面而言,還自認為學的挺多,本以為憑這就可以做點什麼。可現在,隨便一個系統,要用所學的做出來,那簡直還太遠。因為軟體是基於硬體寫的,而在嵌入式這一行業中,每個硬體平臺基本上都不相同。以前總以為硬體都是差不多的,在學習中,忽略了硬體平臺對軟體的影響。

  於是開始學習硬體的知識。起初是以張力控制板的資料為主,看其用到的硬體,查其使用的晶片的手冊,學著看原理圖,看其軟體的編寫。其原理圖是用Protel **SE畫出來的,於是也開始學習protel的使用,漸漸接觸了硬體設計的許多知識,比如封裝,網路連線,硬體設計的一些規則等。

  在這裡做的第一件事算是做一個實際的專案,是一個關於金拉線控制的專案,當然是在這裡一個工作經驗豐富的硬體設計工程師的帶領下做的。具體給我們安排的是使用ARM控制伺服電機的轉動,並採集資料顯示出來。涉及到對頻率訊號的處理,要將頻率訊號轉換成電壓來控制伺服電機。前期我們做的是一些探索性的實驗,在工程師的提示下,我們使用ARM的定時器採集頻率訊號,將其轉化成數字量,然後在使用D/A轉化成電壓值。經過幾天的試驗,發現其精度太差,無法達到精確控制的'要求,於是就放棄了這種方法,改用硬體實現頻率訊號都電壓訊號的轉換,而是用ARM只做數字顯示的部分。硬體部分我們使用LPC2103作為MCU,並參考了之前所看的張力控制板的硬體設計部分,使用Protel **SE完成原理圖的繪製。由於剛剛接觸Protel,所以晶片的封裝部分由帶領我們的工程師完成。軟體部分涉及到A/D轉換,三位數碼管的動態顯示,我們也在EasyARM2200實驗平臺上試驗透過。到此算是完成了第一個專案。

  接下來的一段時間裡,我們主要繼續學習硬體的設計,查閱各種晶片的資料,並重點學習了Altium Designer(Protel的升級版)硬體設計工具的使用。由於在菸草行業中,Linux還應用的很少,公司以前也沒有做過這樣的東西,和部門經理交流之後,他安排我們先做一些探索性的東西,首先從簡單的串列埠通訊開始。為了充分考慮使用者的使用習慣,他給了我們一個windows他們經常使用的串列埠工具,我們使用linux平臺下的圖形化開發庫GTK和C語言完成,這個主要由研究生完成。我們另一個同學主要做從Linux平臺訪問MS SQL20xx資料庫的探索。因為在菸草行業中,應用最多的資料庫系統就是MS SQL20xx和sybase,如果要應用linux平臺,資料訪問必然是要做的一部分。

  經過在網上的搜尋,我們確定使用FreeTDS作為資料庫訪問開發庫,他最早是為解決從類UINUX平臺訪問sybase資料庫而開發的,後來也支援了對MS SQL20xx資料庫的訪問,正好符合我們的需求。FreeTDS是一個開源軟體,資料都是英文的,所以對於其程式設計介面,配置等的學習都是查閱其官方網站上的英文資料。我們還搭建了測試環境,使用VirtualBox虛擬機器軟體,安裝Ubuntu Linux發行版系統作為linux環境,Windows XP作為MS SQL20xx個人版資料庫伺服器執行環境。在linux環境下,使用FreeTDS的程式設計介面編寫測試程式訪問MS SQL20xx資料庫。在測試中,發現了不少的問題,比如字元編碼問題,訪問資料庫獲取的中文資料顯示是亂碼,訪問獲得的資料型別的錯誤等。於是我們使用vim + cscope + ctags作為原始碼閱讀工具,深入FreeTDS的原始碼解決問題。最後我們寫了一個文件和一個為具體應用提供的更方便的程式設計介面。文件是詳細介紹了FreeTDS的安裝,配置,附圖說明了我們搭建的測試環境的過程。縮寫的程式設計介面主要是對FreeTDS提供的介面進行再次封裝,達到讓使用者可以只輸入SQL語句就可以訪問資料庫,包括常用的查詢,插入,更新,刪除,新建資料庫,新建表等,支援讓使用者透過簡單的引數或者修改配置就可以將操作的結果輸出到標準輸出或者輸出到檔案中。

  在之後的半個多月中,我繼續深入學習了硬體設計方面的知識,主要是使用PCB設計軟體Altium Designer設計PCB。最先是下載一些教程學習,學習Altium Designer的使用,學習硬體設計中注意的問題,學習製作電子元器件原理圖和製作電子元器件的封裝。難點要算是封裝了,因為要對應到實際晶片,元件等的尺寸,必須非常精確。在學習中,我最先以做一個周立功公司的EasyARM2103的JTAG介面作為例項。由於原理圖已經有了,主要就是做元件封裝的設計和PCB佈局(對各種電子元器件的合理放置)和佈線(對各種元器件有電氣連線的管腳使用導線進行連線)。經過幾天的努力,測量電阻,電容,晶片的尺寸做封裝,按照PCB設計的規則佈局和佈線,終於做出了一個像樣的PCB板。

  完成JTAG的設計後,我在同學的建議下,也是出於實際的考慮,現在的大部分桌上型電腦沒有並口,只有串列埠,而筆記本串列埠和並口都沒有,這給做嵌入式的人帶來了極大的問題。雖然現在網上有賣的USB轉JTAG和串列埠的介面,但價格很貴(200元左右),於是決定做一個USB轉JTAG和串列埠的介面。在許多時間內,都是查閱網上已有的資料,整理出用到的晶片,一一查閱其硬體手冊,完成了原理圖和封裝的設計。由於使用的電子元件比較多,並且都非常小,所以手工佈局和佈線花費了不少的時間。

  在之後剩下的時間裡,我主要對周立功公司的EasyARM2103開發板進行了重新設計,添加了數碼管和蜂鳴器等器件。這個算是我在實習期間做的最大的一個硬體設計,用到了各種電子元器件,電氣引數各異,尺寸封裝也有許多沒有現成的,於是每天忙在查資料,修改設計中。在設計的後期階段,佈局和佈線著實費了一番功夫,考慮到使用者對已有的EasyARM2103開發板的佈局的習慣,所以佈局遵從已有的佈局,這樣給佈線帶來了很大的問題。在設計中,體會最深的就是佈局比佈線更重要,一個好的設計,不僅是電子元件連線的正確就可以了,還要綜合考慮訊號的差異來佈局,比如高頻訊號和低頻訊號,模擬訊號和數字訊號等,這些都應該分開,而這些都最終體現在一個好的佈局上。最主要的是一個最優的佈線時絕對建立在最優的佈局的基礎上。由於捨棄了佈局的最優,所以佈線非常麻煩,總共涉及到的電子元器件的之間的連線遊1500多條,錯中複雜,橫豎交叉,花費了一週的時間才完全弄好。

  經過一個暑假,不僅學到了許多,也有許多感受。這個公司沒有像我們在學校裡聽說的那種嚴格的管理制度(也許是我們沒有見到),對員工這樣那樣的限制(起碼我所在的硬體設計部門是這樣的),每個人都很自由。上班時間大家也是自由分配,只要完成定期的任務就好。這裡的每個人都是綜合實力非常強的人。因為是搞硬體設計,對各種電子元器件的引數,功能等自然是非常的清楚,對於一個賣好幾萬的板子,一個人幾個月就可以完成,許多帶有自能控制的板子,涉及到了軟體的程式設計,彙編,c語言等也是非常精通。這裡的每個人都很獨立,一個專案基本上都是一個人做,從硬體設計到軟體設計,全部是一個人完成。這沒有深厚的知識基本是絕對不行的。

  在這裡的生活算是還比較好,公司管飯,一天兩頓。週末吃飯有點麻煩,公司的食堂週末的時候就沒飯了,到附近的村子吃飯要走大概半個小時才能到。每天下班吃完飯後還打1個小時左右的乒乓球娛樂一下,雖然也有唱歌的地方,可一直沒有去,關鍵是不會唱,呵呵。乒乓之後,就在辦公室看看電影,在網上四處娛樂一下,也有許多時間是在查資料,泡論壇,看硬體設計的一些經驗型的東西。平時也有出去逛,剛來的時候就去了釣魚臺,感受了一下姜子牙當年的釣魚的悠閒。最近還去了炎帝陵,不過正在修建,也沒多少景物,不過山上的那種鳥鳴山更幽的感覺還是非常好的。在有規律的生活之餘,偶爾也感受一下山野數目的雜亂無章卻也深感爽快。

  一個暑假,雖然和原先設想的有些差距,不過也學到了另一些,獲得了更多的一些,感受了企業的生活,有忙碌也有清閒,有上班時的認真的工作態度,也有下班後唱歌時候的縱情高唱,還是比較豐富多彩的。從正式員工真正做的東西來看,我們所學的太少,還相差甚遠。革命仍在繼續,我們更需努力。唯有多學,才能縮小我們和企業所需的人才之間的差距,才能使自己更有價值。

最近訪問