硬件設(shè)計專業(yè)暑假實習(xí)總結(jié),暑假實習(xí)是每位大學(xué)生都會有的一個暑假活動,即使是在家中休息,返校的時候也會填寫一個實習(xí)報告,那么今天小編就給大家?guī)硪环萦布O(shè)計專業(yè)的暑期實習(xí)報告!
硬件設(shè)計專業(yè)暑假實習(xí)總結(jié)
今年的暑假是在一個專門為煙草行業(yè)制造自動化生產(chǎn)設(shè)備的公司實習(xí)。實習(xí)的原本計劃是看能不能將ARM+Linux這樣的軟硬件平臺應(yīng)用到煙草行業(yè)中。
我們總共三個人,我和我們班的一個,還有一個研究生,實現(xiàn)的地方由導(dǎo)師安排。 實習(xí)的公司叫“圭彬光電”,公司有兩處工作地點(diǎn),我們所在的這一處位于寶雞市高新區(qū),主要做煙草行業(yè)自動控制設(shè)備和系統(tǒng)管理軟件。
在這里,我們被安排在硬件設(shè)計部門。起初覺得完全和自己所學(xué)的不同,覺得公司的安排真是不合理。起初幾天也沒什么事,期間我們從資料室借來了公司以前使用ARM7做的“張力控制板”,資料很完整,從硬件設(shè)計到軟件程序和調(diào)試。其中給了硬件原理圖。起初一看就傻眼了,雖然在之前也零星的看過一下原理圖,可都是比較小的,現(xiàn)在整個一個系統(tǒng)硬件圖擺在眼前,連線錯綜復(fù)雜,使用的芯片又多,并且結(jié)合設(shè)計資料看的時候,其中的許多專業(yè)概念一點(diǎn)都沒有。忽然覺得自己學(xué)的簡直太少了,知道的太少了。在學(xué)校的時候,就軟件方面而言,還自認(rèn)為學(xué)的挺多,本以為憑這就可以做點(diǎn)什么。可現(xiàn)在,隨便一個系統(tǒng),要用所學(xué)的做出來,那簡直還太遠(yuǎn)。因為軟件是基于硬件寫的,而在嵌入式這一行業(yè)中,每個硬件平臺基本上都不相同。以前總以為硬件都是差不多的,在學(xué)習(xí)中,忽略了硬件平臺對軟件的影響。
于是開始學(xué)習(xí)硬件的知識。起初是以張力控制板的資料為主,看其用到的硬件,查其使用的芯片的手冊,學(xué)著看原理圖,看其軟件的編寫。其原理圖是用Protel **SE畫出來的,于是也開始學(xué)習(xí)protel的使用,漸漸接觸了硬件設(shè)計的許多知識,比如封裝,網(wǎng)絡(luò)連接,硬件設(shè)計的一些規(guī)則等。
在這里做的第一件事算是做一個實際的項目,是一個關(guān)于金拉線控制的項目,當(dāng)然是在這里一個工作經(jīng)驗豐富的硬件設(shè)計工程師的帶領(lǐng)下做的。具體給我們安排的是使用ARM控制伺服電機(jī)的轉(zhuǎn)動,并采集數(shù)據(jù)顯示出來。涉及到對頻率信號的處理,要將頻率信號轉(zhuǎn)換成電壓來控制伺服電機(jī)。前期我們做的是一些探索性的實驗,在工程師的提示下,我們使用ARM的定時器采集頻率信號,將其轉(zhuǎn)化成數(shù)字量,然后在使用D/A轉(zhuǎn)化成電壓值。經(jīng)過幾天的試驗,發(fā)現(xiàn)其精度太差,無法達(dá)到精確控制的要求,于是就放棄了這種方法,改用硬件實現(xiàn)頻率信號都電壓信號的轉(zhuǎn)換,而是用ARM只做數(shù)字顯示的部分。硬件部分我們使用LPC2103作為MCU,并參考了之前所看的張力控制板的硬件設(shè)計部分,使用Protel **SE完成原理圖的繪制。由于剛剛接觸Protel,所以芯片的封裝部分由帶領(lǐng)我們的工程師完成。軟件部分涉及到A/D轉(zhuǎn)換,三位數(shù)碼管的動態(tài)顯示,我們也在EasyARM2200實驗平臺上試驗通過。到此算是完成了第一個項目。
接下來的一段時間里,我們主要繼續(xù)學(xué)習(xí)硬件的設(shè)計,查閱各種芯片的資料,并重點(diǎn)學(xué)習(xí)了Altium Designer(Protel的升級版)硬件設(shè)計工具的使用。由于在煙草行業(yè)中,Linux還應(yīng)用的很少,公司以前也沒有做過這樣的東西,和部門經(jīng)理交流之后,他安排我們先做一些探索性的東西,首先從簡單的串口通信開始。為了充分考慮用戶的使用習(xí)慣,他給了我們一個windows他們經(jīng)常使用的串口工具,我們使用linux平臺下的圖形化開發(fā)庫GTK和C語言完成,這個主要由研究生完成。我們另一個同學(xué)主要做從Linux平臺訪問MS SQL2000數(shù)據(jù)庫的探索。因為在煙草行業(yè)中,應(yīng)用最多的數(shù)據(jù)庫系統(tǒng)就是MS SQL2000和sybase,如果要應(yīng)用linux平臺,數(shù)據(jù)訪問必然是要做的一部分。
經(jīng)過在網(wǎng)上的搜索,我們確定使用FreeTDS作為數(shù)據(jù)庫訪問開發(fā)庫,他最早是為解決從類UINUX平臺訪問sybase數(shù)據(jù)庫而開發(fā)的,后來也支持了對MS SQL2000數(shù)據(jù)庫的訪問,正好符合我們的需求。FreeTDS是一個開源軟件,資料都是英文的,所以對于其編程接口,配置等的學(xué)習(xí)都是查閱其官方網(wǎng)站上的英文資料。我們還搭建了測試環(huán)境,使用VirtualBox虛擬機(jī)軟件,安裝Ubuntu Linux發(fā)行版系統(tǒng)作為linux環(huán)境,Windows XP作為MS SQL2000個人版數(shù)據(jù)庫服務(wù)器運(yùn)行環(huán)境。在linux環(huán)境下,使用FreeTDS的編程接口編寫測試程序訪問MS SQL2000數(shù)據(jù)庫。在測試中,發(fā)現(xiàn)了不少的問題,比如字符編碼問題,訪問數(shù)據(jù)庫獲取的中文數(shù)據(jù)顯示是亂碼,訪問獲得的數(shù)據(jù)類型的錯誤等。于是我們使用vim + cscope + ctags作為源碼閱讀工具,深入FreeTDS的源代碼解決問題。最后我們寫了一個文檔和一個為具體應(yīng)用提供的更方便的編程接口。文檔是詳細(xì)介紹了FreeTDS的安裝,配置,附圖說明了我們搭建的測試環(huán)境的過程。縮寫的編程接口主要是對FreeTDS提供的接口進(jìn)行再次封裝,達(dá)到讓用戶可以只輸入SQL語句就可以訪問數(shù)據(jù)庫,包括常用的查詢,插入,更新,刪除,新建數(shù)據(jù)庫,新建表等,支持讓用戶通過簡單的參數(shù)或者修改配置就可以將操作的結(jié)果輸出到標(biāo)準(zhǔn)輸出或者輸出到文件中。
在之后的半個多月中,我繼續(xù)深入學(xué)習(xí)了硬件設(shè)計方面的知識,主要是使用PCB設(shè)計軟件Altium Designer設(shè)計PCB。最先是下載一些教程學(xué)習(xí),學(xué)習(xí)Altium Designer的使用,學(xué)習(xí)硬件設(shè)計中注意的問題,學(xué)習(xí)制作電子元器件原理圖和制作電子元器件的封裝。難點(diǎn)要算是封裝了,因為要對應(yīng)到實際芯片,元件等的尺寸,必須非常精確。在學(xué)習(xí)中,我最先以做一個周立功公司的EasyARM2103的JTAG接口作為實例。由于原理圖已經(jīng)有了,主要就是做元件封裝的設(shè)計和PCB布局(對各種電子元器件的合理放置)和布線(對各種元器件有電氣連接的管腳使用導(dǎo)線進(jìn)行連接)。經(jīng)過幾天的努力,測量電阻,電容,芯片的尺寸做封裝,按照PCB設(shè)計的規(guī)則布局和布線,終于做出了一個像樣的PCB板。
完成JTAG的設(shè)計后,我在同學(xué)的建議下,也是出于實際的考慮,現(xiàn)在的大部分臺式機(jī)沒有并口,只有串口,而筆記本串口和并口都沒有,這給做嵌入式的人帶來了極大的問題。雖然現(xiàn)在網(wǎng)上有賣的USB轉(zhuǎn)JTAG和串口的接口,但價格很貴(200元左右),于是決定做一個USB轉(zhuǎn)JTAG和串口的接口。在許多時間內(nèi),都是查閱網(wǎng)上已有的資料,整理出用到的芯片,一一查閱其硬件手冊,完成了原理圖和封裝的設(shè)計。由于使用的電子元件比較多,并且都非常小,所以手工布局和布線花費(fèi)了不少的時間。
在之后剩下的時間里,我主要對周立功公司的EasyARM2103開發(fā)板進(jìn)行了重新設(shè)計,添加了數(shù)碼管和蜂鳴器等器件。這個算是我在實習(xí)期間做的最大的一個硬件設(shè)計,用到了各種電子元器件,電氣參數(shù)各異,尺寸封裝也有許多沒有現(xiàn)成的,于是每天忙在查資料,修改設(shè)計中。在設(shè)計的后期階段,布局和布線著實費(fèi)了一番功夫,考慮到用戶對已有的EasyARM2103開發(fā)板的布局的習(xí)慣,所以布局遵從已有的布局,這樣給布線帶來了很大的問題。在設(shè)計中,體會最深的就是布局比布線更重要,一個好的設(shè)計,不僅是電子元件連接的正確就可以了,還要綜合考慮信號的差異來布局,比如高頻信號和低頻信號,模擬信號和數(shù)字信號等,這些都應(yīng)該分開,而這些都最終體現(xiàn)在一個好的布局上。最主要的是一個最優(yōu)的布線時絕對建立在最優(yōu)的布局的基礎(chǔ)上。由于舍棄了布局的最優(yōu),所以布線非常麻煩,總共涉及到的電子元器件的之間的連線游1500多條,錯中復(fù)雜,橫豎交叉,花費(fèi)了一周的時間才完全弄好。
經(jīng)過一個暑假,不僅學(xué)到了許多,也有許多感受。這個公司沒有像我們在學(xué)校里聽說的那種嚴(yán)格的管理制度(也許是我們沒有見到),對員工這樣那樣的限制(起碼我所在的硬件設(shè)計部門是這樣的),每個人都很自由。上班時間大家也是自由分配,只要完成定期的任務(wù)就好。這里的每個人都是綜合實力非常強(qiáng)的人。因為是搞硬件設(shè)計,對各種電子元器件的參數(shù),功能等自然是非常的清楚,對于一個賣好幾萬的板子,一個人幾個月就可以完成,許多帶有自能控制的板子,涉及到了軟件的編程,匯編,c語言等也是非常精通。這里的每個人都很獨(dú)立,一個項目基本上都是一個人做,從硬件設(shè)計到軟件設(shè)計,全部是一個人完成。這沒有深厚的知識基本是絕對不行的。
在這里的生活算是還比較好,公司管飯,一天兩頓。周末吃飯有點(diǎn)麻煩,公司的食堂周末的時候就沒飯了,到附近的村子吃飯要走大概半個小時才能到。每天下班吃完飯后還打1個小時左右的乒乓球娛樂一下,雖然也有唱歌的地方,可一直沒有去,關(guān)鍵是不會唱,呵呵。乒乓之后,就在辦公室看看電影,在網(wǎng)上四處娛樂一下,也有許多時間是在查資料,泡論壇,看硬件設(shè)計的一些經(jīng)驗型的東西。平時也有出去逛,剛來的時候就去了釣魚臺,感受了一下姜子牙當(dāng)年的釣魚的悠閑。最近還去了炎帝陵,不過正在修建,也沒多少景物,不過山上的那種鳥鳴山更幽的感覺還是非常好的。在有規(guī)律的生活之余,偶爾也感受一下山野數(shù)目的雜亂無章卻也深感爽快。
一個暑假,雖然和原先設(shè)想的有些差距,不過也學(xué)到了另一些,獲得了更多的一些,感受了企業(yè)的生活,有忙碌也有清閑,有上班時的認(rèn)真的工作態(tài)度,也有下班后唱歌時候的縱情高唱,還是比較豐富多彩的。從正式員工真正做的東西來看,我們所學(xué)的太少,還相差甚遠(yuǎn)。革命仍在繼續(xù),我們更需努力。唯有多學(xué),才能縮小我們和企業(yè)所需的人才之間的差距,才能使自己更有價值。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。