




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、串口 modem CTS RTSMODEM是用戶接入互聯(lián)網(wǎng)的重要設備。雖然網(wǎng)絡干線上已經(jīng)普及寬帶光纖傳輸,但是在擁有龐大用戶群的最后一公里路段上,目前最現(xiàn)實的接入方式還是銅線連接(電話線,雙絞線、電纜)。另外,隨著無線技術的發(fā)展,采用無線接入的固定/移動用戶也越來越多。不論是銅線連接還是無線接入,都要采用調(diào)制解調(diào)器,以便使數(shù)據(jù)信號能夠在信道內(nèi)傳輸。MODEM的對外接口是串口,這個串行I/O口用于傳輸控制信號、狀態(tài)信號、數(shù)據(jù)、AT指令及其響應。雖然MODEM種類繁多(56K貓/GPRS/CDMA等),但對外都表現(xiàn)為一個標準的串口,只要將這個串口了解清楚,那么就可以將所有的MODEM一網(wǎng)打盡。*(
2、1)UART*一般地,我們把這個串口叫作UART(Universal Asynchronous Receiver and Transmitter通用異步收發(fā)器)。其中,RT是接收和發(fā)送的英文縮寫,能收能發(fā)又是串口,說白了就是串行I/O口的意思。A表示異步模式。這種模式的優(yōu)點是適應性強,對時鐘精度要求低(成本低)。每次發(fā)送字節(jié)數(shù)據(jù)前都首先發(fā)送一個開始位同步時鐘相位,抖動誤差不會在整個通信過程中累積,只影響單個字節(jié)的傳輸單元。U的意思是通用。為什么一定要冠以通用二字,這個定語到底想強調(diào)什么呢?話說很早以前,還沒有出現(xiàn)計算機的時候,就已經(jīng)出現(xiàn)了串口設備。例如:MODEM、電傳打字機、工控設備、數(shù)傳機
3、等等。為了方便設備互連,EIA制定了RS232標準化規(guī)范,采用DB25接口連接DTE(Data Terminal Equipment數(shù)據(jù)終端設備)和DCE(Data Communications Equipment數(shù)據(jù)通信設備)。后來,出現(xiàn)了個人計算機(PC機),這些已有的設備毫無疑問地成了最初的外設,為了將其接入主機,制造商們自然地選擇了標準的RS232串口。在這個標準中,DB25接口支持同步和異步兩種工作模式,采用D型接插件,防止插反。這種設計兼容性好,使用方便,但是制造商們并不買帳,他們更傾向于進一步減少接插件的大小和成本。通過刪除DB25中未使用的引腳和支持同步模式的引腳,將DB25改
4、造成只有9根線,只支持異步模式,體積更小,成本更低的DB9。最初的狀況比較混亂,因為DB9只給出了信號范圍,但沒有指出引腳和信號的對應關系,而且DB9也不是RS232規(guī)范所定義的接口標準,因此各個制造商只能自行定義對應關系。后來,IBM制造的PC機成了行業(yè)標準,DB9的對應關系就逐漸統(tǒng)一到了IBM的定義上,現(xiàn)如今使用的DB9就是遵守的IBM的定義。隨著時代的發(fā)展,計算機越來越普及,外設的種類也越來越多,有些非RS232的串行設備需要接入主機,這就要求主機提供更多的I/O口。如果為每一種新出現(xiàn)的設備都提供一個I/O,顯然是不現(xiàn)實的,因為主機后面板位置有限,不可能容納太多的接口。幸運的是,外部I/
5、O口大體上主要分為兩類:并口和串口。如果復用已有的RS232串口接入非RS232的設備,那么就可以用有限的接口,接入大量的設備。一個有趣的現(xiàn)象是,早期的操作系統(tǒng)DOS和ROM BIOS提供的通信例程只支持RS232串口標準,即使是實現(xiàn)簡單的字節(jié)收發(fā)這種非RS232應用,竟然也要先檢測DSR、DCD、CTS等信號是否有效,如果不滿足條件,將不會發(fā)送數(shù)據(jù)到TXD上。解決這個問題的方法有兩種:1、旁路系統(tǒng)提供的API函數(shù),自己直接操縱硬件實現(xiàn)非RS232的操作;2、短接接頭里某些RS232控制信號線,使系統(tǒng)通信例程誤以為是RS232設備,使非RS232的設備滿足RS232規(guī)范的子集要求?,F(xiàn)在,PC機
6、上的串口既支持RS232應用又支持非RS232應用,通用串口指的就是這個意思。RS232規(guī)范對速度和距離都有約束,在碼元畸變小于4%的條件下,傳輸距離上限是15米;速率上限是19200。目前,在PC機上的串口都突破了RS232標準的限制,速度可以達到115200甚至更高。軟件上,已經(jīng)可以選項配置是否支持硬件流控,是否檢查DSR、DCD、RI等輸入信號??梢哉f,現(xiàn)在的PC串口,來源于RS232,但又不拘泥于它的限制,越來越向通用目的的串口方向發(fā)展。UART到此可以總結(jié)為:用于通用目的的異步串行I/O口。綜上,可以看出計算機串口發(fā)展的大致歷程:(個人計算機)史前出現(xiàn)原始的串口設備-EIA制定RS2
7、32統(tǒng)一標準,DB25出現(xiàn)-個人計算機誕生,為引入串口,DB9出現(xiàn),軟硬件仍然遵循RS232標準-為引入新的非RS232串口,將原來的RS232口改造成通用目的的UART,軟硬件可以不遵循RS232規(guī)范。PC機串口擁有多個名字:串口、RS232口、COM口(通信口)、異步口、UART等,他們是不同歷史時期的產(chǎn)物,一直沿用至今,讓現(xiàn)在的人們感覺有些莫名其妙。最開始PC機接入的串行外設是RS232設備,就叫RS232口。這個設備主要是通信用的MODEM,PC上就稱為COM口。現(xiàn)在連非RS232設備也接了進來,就叫UART吧。不過新名字沒有老名字有名,有些人的習慣改不過來,再說計算機發(fā)展太快,老名字
8、還沒消失,新名字就出現(xiàn)了,而且各有各的擁躉,約定俗成,那就這么亂著叫吧。就在UART準備一統(tǒng)江湖的時候,制造商們再一次不滿于它的速度、靈活性(軟件可配置)和體積,推出了USB串口和1394串口?,F(xiàn)在越來越多的筆記本電腦上已經(jīng)取消了UART串口,因此有不少網(wǎng)友發(fā)出沒有串口,吾誰與歸的慨嘆,歷史前進的腳步無法阻擋,古今多少事,都付笑談中,USB取代UART是后話,暫且不表。*(2)DB9引腳定義和表示*DB9遵循IBM定義,所有輸入輸出方向都是站在DTE角度說的。1-載波檢測DCD 2-接收數(shù)據(jù)RXD 3-發(fā)送數(shù)據(jù)TXD 4-數(shù)據(jù)終端就緒DTR 5-信號地GND 6-數(shù)據(jù)設備就緒DSR 7-請求發(fā)
9、送RTS 8-清除發(fā)送CTS 9-振鈴指示RI在TXD和RXD上:(一般,驅(qū)動器件都是反相器,用負表示1,用正表示0,采用負邏輯,完全可以理解。)邏輯0(SPACE空號)=+3V+15V邏輯1(MARK傳號)=-3V-15V在RTS、CTS、DSR、DTR和DCD等控制線上:信號有效(接通,ON狀態(tài),正電壓,高電平)=+3V+15V信號無效(斷開,OFF狀態(tài),負電壓,低電平)=-3V-15V-3V到+3V之間的電平無意義,稱為死區(qū),不應該處于這個電壓范圍。+3V以上,-3V以下的一段區(qū)間屬于過渡區(qū),盡量不要使電平落入此區(qū)間,以便使判斷更可靠,最好在+12V以上,-12V以下。一般的驅(qū)動器件為+
10、-12V電壓。工程上,電壓不可能如此理想,判斷需要在一定范圍內(nèi)進行,有些半導體器件也不容易升壓到+-15V,同時,大擺幅電路速度也高不了。以上說的是RS232電平,在未經(jīng)驅(qū)動的芯片引腳上是TTL電平:信號有效二進制0=0-0.3V信號無效二進制1=3.3V/5V如果不經(jīng)RS232驅(qū)動芯片,直接把MCU和Modem模塊(TTL電平)連接,需要注意電平兼容。*(3)DB9引腳信號詳細說明*注意:硬件只提供機制而不提供策略,RS232的規(guī)范由軟件實現(xiàn),硬件只是提供標準的硬件信號線。例如:載波檢測由軟件完成,硬件只提供DCD引腳信號。硬件流控并不是說將RTS和CTS接到相應引腳位置上,硬件就可以自動實
11、現(xiàn)流量控制,硬件流控是靠軟件實現(xiàn)的,之所以強調(diào)硬件二字,只是因為硬件為軟件提供了指示信號的硬件通路,而軟件流控沒有使用硬件指示信號罷了。RS232規(guī)定的是DTE和DCE設備間連接,而現(xiàn)在大多數(shù)設備已經(jīng)內(nèi)嵌了CPU,可以主動發(fā)送數(shù)據(jù),因此成了DTE設備,DTE和DTE的連接RS232里沒有規(guī)定,需要使用交叉線。有興趣的讀者可以嘗試著分別剪斷9根線,看看會有什么現(xiàn)象發(fā)生??纯磽芴栜浖棾鍪裁礃拥腻e誤信息。TXD(Transmitted Data發(fā)送數(shù)據(jù)),RXD(Received Data接收數(shù)據(jù))-數(shù)據(jù)傳輸物理通道,DTE和DCE設備此引腳一一對應連接即可,兩個DTE設備需要交叉連接。所謂收發(fā)
12、全是站在DTE角度說的。可以在這兩個引腳對應的芯片引腳上連接LED指示燈,在數(shù)據(jù)收發(fā)時會有閃爍指示。這兩個信號連接芯片內(nèi)部的并/串和串/并電路,先處理低位,硬件上不受其他硬件控制信號的影響。GND(Ground地)-地參考點。RS232是非平衡接法,不是差分的,所以抗噪性能不好,收發(fā)信號需要高電壓+15V/-15V,擺幅大,速率低。此地使兩端電位參考點一致,避免了地回路。DCD(Data Carrier Detect數(shù)據(jù)載波檢測)-當話音通路建立后,兩端Modem各自發(fā)送單頻載波,以便各自的對端實時檢測鏈路通斷。只要檢測到載波信號,DCD就有效。此信號無效時用于觸發(fā)no carrier事件,提
13、供向上層傳遞lower down消息的機制,使PPP復位,并根據(jù)策略決定是否斷線重撥。在PPP收發(fā)數(shù)據(jù)時應實時監(jiān)測DCD信號,只有當DCD有效時才能進行收發(fā)操作。DTR(Data Terminal Ready數(shù)據(jù)終端準備好),DSR(Data Set Ready數(shù)據(jù)設備準備好)-雖然通過RXD和TXD就可以收發(fā)數(shù)據(jù),但是在發(fā)送數(shù)據(jù)前還是應該先確定對方是否準備好,以避免不必要的數(shù)據(jù)丟失。DTR和DSR引腳用于主硬件流控。DTR有效表示DTE設備可以接收數(shù)據(jù),DSR有效表示DCE設備可以接收數(shù)據(jù)。DTE向DCE發(fā)送數(shù)據(jù)前要檢測DSR信號,如果無效將不會發(fā)送,同樣,DCE向DTE發(fā)送數(shù)據(jù)前也要先檢測
14、DTR是否有效。這是RS232規(guī)范的要求。MODEM并沒有使用DTR和DSR實現(xiàn)通常意義上的硬件流控。DTR在整個通信期間保持有效,DSR在MODEM上電后立即有效/在發(fā)出載波后有效(這取決于程序?qū)SR的理解,是把它簡單地看成電源開關指示還是看成撥號后的指示)并在整個通信過程中一直保持有效。DTR或DSR在任何時間點無效,都將終止通信過程。有人可能奇怪RS232標準里明明使用這兩個信號用于主硬件流控,為什么MODEM卻這樣安排時序呢?原來MODEM根本就沒有按照RS232的規(guī)范將DTR和DSR用于硬件流控,它只使用這兩個信號指示DTE和DCE已經(jīng)上電,可以開始工作。當然這在某種意義上也算是流
15、控,但它確實不是RS232所指的那種,MODEM是通過RTS和CTS實現(xiàn)的硬件流控。DTR和DSR的這種使用方法最初是由賀氏Hayes公司在Smart Modem里最先采用的,后來賀氏Hayes MODEM成為行業(yè)事實上的標準,其他公司參照賀氏設計的時序生產(chǎn)與其兼容的MODEM,甚至連AT指令都一樣(大家一起抄他唄)。因此,現(xiàn)在的MODEM都不遵守RS232在這兩個引腳上定義的用法了。Data Terminal和Data Set是兩個過時的名字,這兩個術語已經(jīng)被廢棄了(誰還記得數(shù)據(jù)終端和數(shù)傳機啊,早就成古董了,興許在博物館還能見到實物)。RS232-D版本中起用DTE ready和DCE re
16、ady兩個新名字。雖然新名字表達的意思清楚多了,但可以肯定的說,舊名字仍將繼續(xù)使用。RTS(Request To Send請求發(fā)送),CTS(Clear To Send清除發(fā)送)-半雙工時,用于收發(fā)模式切換。屬于輔助流控信號。半雙工的意思是說,發(fā)的時候不收,收的時候不發(fā)。那么怎么區(qū)分收發(fā)呢?缺省時是DCE向DTE發(fā)送數(shù)據(jù),當DTE決定向DCE發(fā)數(shù)據(jù)時,先有效RTS,表示DTE希望向DCE發(fā)送,一般DCE不能馬上轉(zhuǎn)換收發(fā)狀態(tài),DTE就通過監(jiān)測CTS是否有效來判斷可否發(fā)送,這樣避免了DTE在DCE未準備好時發(fā)送所導致的數(shù)據(jù)丟失。全雙工時,這兩個信號一直有效即可。(RTS/CTS協(xié)議即請求發(fā)送/允許
17、發(fā)送協(xié)議,相當于一種握手協(xié)議,主要用來解決隱藏終端問題。隱藏終端(Hidden Stations)是指,基站A向基站B發(fā)送信息,基站C未偵測到A也向B發(fā)送,故A和C同時將信號發(fā)送至B,引起信號沖突,最終導致發(fā)送至B的信號都丟失了。隱藏終端多發(fā)生在大型單元中(一般在室外環(huán)境),這將帶來效率損失,并且需要錯誤恢復機制。當需要傳送大容量文件時,尤其需要杜絕隱藏終端現(xiàn)象的發(fā)生。IEEE 802.11提供了如下解決方案。在參數(shù)配置中,若使用RTS/CTS協(xié)議,同時設置傳送上限字節(jié)數(shù)-一旦待傳送的數(shù)據(jù)大于此上限值時,即啟動RTS/CTS握手協(xié)議:首先,A向B發(fā)送RTS信號,表明A要向B發(fā)送若干數(shù)據(jù),B收到
18、RTS后,向所有基站發(fā)出CTS信號,表明已準備就緒,A可以發(fā)送,其余基站暫時按兵不動,然后,A向B發(fā)送數(shù)據(jù),最后,B接收完數(shù)據(jù)后,即向所有基站廣播ACK確認幀,這樣,所有基站又重新可以平等偵聽、競爭信道了。)以上所述是RS232標準的定義,然而在MODEM中,完全沒有遵守這個規(guī)范,而是將其用于硬件流控。很多人根據(jù)RTS和CTS的字面意思理解他們的用法往往百思不得其解,再加上半雙工/全雙工,就更加云里霧里了。RTS和CTS在MODEM中的用法與他們字面的含義沒有任何關系,他們已經(jīng)由賀氏公司重新定義了用法。以下是網(wǎng)友dengm給出的程序,詳細說明了RTS和CTS在MODEM里的用法。RTS用于指示
19、本端是否可以接收數(shù)據(jù),CTS指示對端是否可以接收數(shù)據(jù)。 dengm發(fā)表于2005-1-14 07:52侃單片機PC端處理:本端發(fā)送當發(fā)現(xiàn)(不一定及時發(fā)現(xiàn))CTS(-3V to-15V)無效時,停止發(fā)送,當發(fā)現(xiàn)(不一定及時發(fā)現(xiàn))CTS(3V to 15V)有效時,恢復發(fā)送;本端接收0 MN LEN_OF_RX_BUFFERS(不要在處于邊界時才給出指示,否則對端很有可能來不及停發(fā)而造成本端接受緩沖區(qū)溢出。)當接收buffers中的bytes M時,給RTS有效信號(+3v to+15v),當接收buffers中的bytes N時,給RTS無效信號(-3v to-15v);MODEM端處理:同上,
20、但RTS與CTS交換圖1表示DTE向DCE發(fā)送數(shù)據(jù)時的流控過程。DTE和DCE一般都會有一定容量的FIFO(先入先出)緩沖區(qū),例如16字節(jié)。DTE以設定的波特率(如115200)向DCE發(fā)送數(shù)據(jù),當DCE的FIFO緩沖區(qū)快滿時,DCE使CTS無效,DTE軟件檢測到此信號后停止發(fā)送。同時DCE繼續(xù)向電話線上發(fā)送數(shù)據(jù),一旦發(fā)出,DCE的FIFO就變成不滿,CTS恢復有效,允許DTE繼續(xù)寫入。串口波特率只是接口速率,不是Modem的實際傳輸速率,一般發(fā)送都快于接收,為避免溢出丟失數(shù)據(jù),均需要接收端控制發(fā)送端發(fā)送速度,即流控。DCE向DTE發(fā)送數(shù)據(jù)用RTS進行流控,過程與上面講的類似。流控在通信里的作
21、用非常重要,它能使發(fā)送和接收保持均衡,避免數(shù)據(jù)因為收發(fā)速率不匹配而丟失。例如:在TCP協(xié)議里,當數(shù)據(jù)丟失時,總是假定丟包是由于網(wǎng)絡擁塞引起的,此時采用擁塞避免算法,超時時間加倍,擁塞窗減半,盡管此時信道正常,有數(shù)據(jù)可以發(fā),但因為擁塞窗減小導致不能發(fā)送,而且超時等待時間加倍,TCP的性能將急劇下降,測試報告不會好看。信道上因為誤碼引起的丟包和網(wǎng)絡上因為擁塞造成的丟包都是不可控的,而收發(fā)速率不匹配造成的數(shù)據(jù)丟失完全可以通過流控避免,因此,在接收速率小于/等于發(fā)送速率的地方都要使用流控。硬件流控不能跨越設備,軟件流控可以實現(xiàn)端到端控制。注意:MODEM是否配置硬件流控可以通過AT指令動態(tài)修改。在不支
22、持硬件流控時,這兩個信號在數(shù)據(jù)傳輸狀態(tài)一直有效。此時可以無流控,或者通過ON(0x11)/XOFF(0x13)軟件流控。RI(Ring Indicator振鈴指示)-這個引腳用于指示是否有90V鈴流信號輸入。如果檢測到振鈴信號,MODEM將周期改變RI引腳電平,變化頻率與振鈴頻率無關,DTE設備檢測RI上的電平變化,并計數(shù),一旦符合規(guī)定次數(shù),就發(fā)出DTR信號,指示DCE摘機應答。以前的笨貓沒有CPU,所以需要DTE幫助判斷是否有撥入,現(xiàn)在的聰明貓(Hayes Smartmodem)有CPU,完全可以自動應答,我看,這個信號以后就可以省掉了,畢竟RS232是很早以前的標準,已經(jīng)過時了,不必拘泥于
23、原來的規(guī)范。DTE DCE AB HJD04D大型程控電話交換機-電話線-ST-BUS-ST-BUS-E1|FIFO緩沖|-|FIFO緩沖|-|SLIC板|-|DSN交換網(wǎng)絡|-|DTP數(shù)字中繼|-經(jīng)匯接局到另一端局的相應電路-(左圖逆序)RTS-CTS|公共資源-鈴流源|信號音(撥號/回鈴/忙/催掛音)V DTMF雙音多頻收號器圖1硬件流控圖(DTE向DCE發(fā)送數(shù)據(jù))如圖1,MODEM的另一端連接電話線,通過AB線與對端(局端)程控電話交換機SLIC板(用戶線接口電路)相連,需要實現(xiàn)用戶線信令(摘機、掛機、振鈴、撥號音、忙/催掛/回鈴音等),還有用于判斷鏈路通斷的載波檢測。以上討論的DB9串
24、口是很早以前設計的,隨著技術的發(fā)展,MODEM越來越聰明,軟件完全可以取代一些硬件控制連線,甚至重新設計MODEM串口。如果今后遇見不符合現(xiàn)在定義的MODEM接口是不足為奇的。*(4)串口交叉連接方式和MODEM工作時序*交叉連接用于兩個DTE設備互連圖略(1)最簡連接用于調(diào)試目的等非RS232應用,通信軟件不能檢測DSR、DCD、CTS信號(本端)-(對端):(2)-(3)(3)-(2)(5)-(5)1-4-6-7-8-9懸空(2)RS232連接用于屏蔽RS232通信軟件的檢測,早期BIOS和OS通信軟件只能在符合RS232規(guī)則的接口線上運行,此種接法可使其只用3根線即可正常工作。短接本端1
25、-4-6;短接本端7-8(本端)-(對端):(2)-(3)(3)-(2)(5)-(5)9懸空(3)完全連接忽略DCD和RI,帶硬件流控的交叉連接(本端)-(對端):(2)-(3)(3)-(2)(5)-(5)(7)-(8)(8)-(7)(6)-(4)(4)-(6)1和9懸空(4)NULL MODEM連接用于模擬兩個DTE之間通過MODEM連接。在PPP開發(fā)時,可以節(jié)省大量通信費用。(本端連接)-(對端連接):(2)-(3)(3)-(2)(7-8)-(1)(6-9)-(4)(5)-(5)(1)-(7-8)(4)-(6-9)(9-6)-(4)MODEM的工作時序:在整個通信過程中,DTR和DSR及D
26、CD必須一直有效,RTS和CTS用于硬件流控(軟件實現(xiàn)的),RTS有效時指示DTE可以收,CTS有效時指示DCE可以收(詳見引腳說明)。當電話打入時,交換機SLIC(用戶線接口電路)板發(fā)出90V振鈴信號,MODEM識別后發(fā)出RI信號,RI變化頻率與振鈴頻率無關,PC機對RI變化記數(shù),達到觸發(fā)值時,PC機發(fā)出DTR信號通知MODEM摘機應答。MODEM發(fā)出載波后有效DSR,通知PC已摘機。當接收到對端載波后,DCD有效,指示話音通道連通。通信完畢任一方停止載波,導致兩端載波消失,PC檢測到DCD無效,就使DTR無效,MODEM隨后使DSR無效響應之,一次通信過程結(jié)束?,F(xiàn)在的MODEM一般都可以自
27、動應答,RI信號可忽略。當MODEM識別出振鈴后,摘機應答并發(fā)載波,同時有效DSR,通知PC機有撥入,PC隨即有效DTR,允許撥入。當收到對端載波,MODEM有效DCD,指示話音通道連通。通信完畢任一方停止載波,導致兩端載波消失,PC檢測到DCD無效,就使DTR無效,MODEM隨后使DSR無效響應之,一次通信過程結(jié)束。PC機撥出時,先有效DTR,指示MODEM摘機撥號,MODEM回應DSR有效,在識別出撥號音后撥號,然后在回鈴音結(jié)束后發(fā)載波,一旦收到對端載波,MODEM有效DCD,指示話音通路連通。此后,就可以進行PPP協(xié)商了。通信完畢任一方停止載波,導致兩端載波消失,PC檢測到DCD無效,就
28、使DTR無效,MODEM隨后使DSR無效響應之,一次通信過程結(jié)束。*(5)硬件學習方法總結(jié)*我認為學習硬件最重要的是抓住4個關鍵點:引腳、時序、寄存器和協(xié)議。硬件的參考資料就是數(shù)據(jù)手冊(datasheet),雖然大部分由英文寫成,但是科技英語并不象想象中那么難,而且數(shù)據(jù)手冊的內(nèi)容編排有規(guī)律可尋。一般,先介紹總體特點概述(賣點),順便做一下公司廣告(什么leadership一類的),然后是結(jié)構(gòu)/功能框圖、引腳說明、時序分析、寄存器說明、硬件所實現(xiàn)的具體協(xié)議(USB、PCI、E1等)、應用范例demo、直流/交流特性、封裝、訂購信息、聯(lián)系方法等,手冊里往往還會總結(jié)一些圖、表、關鍵字目錄索引,方便讀
29、者閱讀。-|引腳|-引腳是對硬件工程師最重要的信息之一,務必將其背記下來。背下來的好處多多,基本上掃一眼圖紙就能猜出芯片是干什么用的;對一些不常用的設計技巧能馬上發(fā)現(xiàn),進而學習之;能立即指出明顯的低級錯誤;能輕易區(qū)分不同型號相同種類的芯片;有利于不斷積累硬件經(jīng)驗,熟能生巧??傊?,背下引腳能大大提高工作效率,不必頻繁查書,不必中斷思路,讓精力集中在應用設計上。面對幾百個引腳的芯片,看似無法記住,實則簡單Easy。譬如:地址線32根、數(shù)據(jù)線32根,電源5根、地線20根,一會兒就記住了89根引腳線,然后按功能記I2C、SPI、ST-BUS、USB、JTAG等固定用法的引腳線,不管用在哪個芯片上,這些
30、引腳種類和功能都相同,有時,只要記住功能就能把相關引腳一一背出,或者只須記住差異點即可。一旦背下一個芯片,那么與之類似的一系列芯片就都不在話下了。萬事開頭難,一旦習慣了,隨時記住幾百個引腳的芯片也不是難事,這是專業(yè)硬件工程師的基本功。-|時序|-時序是硬件工程師獲得的另一個重要信息,務必反復咀嚼回味。時序圖可以清楚全面地展示硬件的工作過程,從中我們可以得到想要的細節(jié)。硬件設計的一大任務是抑制干擾噪聲,通過分析時序可以找到最佳的處理方法。比如:在數(shù)據(jù)的中點采樣,可以獲得前后各50%的抖動裕量;通過滿足建立/保持時間,使得數(shù)據(jù)采樣正確。一般來說,時序圖展示的是理想情況下的位置關系,實際電路中還要受
31、到生產(chǎn)工藝和現(xiàn)場情況的影響。比如:溫度、濕度會影響介電常數(shù),進而影響阻抗匹配。實際波形有上沖、下沖、振鈴等幅度變化;相位有超前、滯后變化;時鐘有不同步問題等等。這些問題限制了時序圖的適用范圍,使用中切記滿足前提條件。例如:PCI的突發(fā)訪問字節(jié)數(shù)在時序圖上可以做得很大,這樣傳輸效率高,但是因為生產(chǎn)工藝達不到要求,不能保證時鐘低抖動,阻抗也不能完全匹配,如果突發(fā)訪問字節(jié)數(shù)過大,會造成誤差累積,導致采樣錯誤,因此實際中一般限制在4字節(jié)以下。我們只可以把時序圖當作理論參考,切記不能過份相信,要看時序只能通過示波器和邏輯分析儀。本來直流和交流特性不是時序內(nèi)容,但因為對時序影響較大,所以就應該配合時序一起
32、看。一般芯片廠商會提供DEMO板供設計參考,但DEMO就是DEMO,不能用于量產(chǎn),切記,切記!真實波形的邊沿不能象時序圖里畫的那么陡峭。因為越是陡峭的邊沿,頻譜范圍越大,旁瓣越多,而我們需要的往往只是某個頻點。如果波形接近于正弦波,那么信號就比較干凈。分析時序最好有例子,我推薦PCI和DDR(I、II)時序圖。這些圖夠復雜,夠先進,代表目前的趨勢。PCI支持軟件配置,有局部總線、接口總線、DMA、突發(fā)、總線仲裁等等,比較全面。DDR現(xiàn)在又降價了,遲早要取代SDRAM,估計也就1年左右時間。找到芯片數(shù)據(jù)手冊就可以得到時序圖。-|寄存器|-寄存器大致可以分為控制、數(shù)據(jù)、狀態(tài)三種。其實就是硬件里的D
33、觸發(fā)器外接三態(tài)總線。硬件上關心的就是地址偏移,方向(只讀、只寫、讀寫),工作原理。這樣就可以分配地址空間,對應GPIO連接,實現(xiàn)硬件時序。其實,寄存器更重要的意義是提供硬件和軟件的接口。軟件通過寄存器操作硬件,硬件通過寄存器給軟件提供信息。一般地,一組寄存器對應一個協(xié)議,可以通過協(xié)議了解寄存器功能,通過寄存器了解協(xié)議細節(jié),互相對照,學習效率高。-|協(xié)議|-目前協(xié)議非常多,PCI、USB、I2C、ST-BUS、E1、802.3等等,了解每一種協(xié)議都要花費大量時間,我建議每次了解一點,積少成多。通常協(xié)議代表了行業(yè)標準,設計時應盡量向標準靠攏。這樣在套片選型時會擁有很大的成本優(yōu)勢??傊?,協(xié)議是硬件的
34、抽象,硬件是協(xié)議的具體實現(xiàn)。-|現(xiàn)狀|-以前,人們常說做硬件要動手能力強,現(xiàn)在看來似乎已經(jīng)不正確了。原來焊接DIP器件,手工操作就可以了,現(xiàn)在的BGA,誰還能用手焊,即使可以,誰能保證質(zhì)量,尤其在量產(chǎn)的時候。原來的板子要求3版成功,一版原型,一版修改,一版定型?,F(xiàn)在要求一版成功,紙上作業(yè),在制板前解決所有問題。想想也是,一塊16層2.5G背板,如何飛線?如何割線?如何手工焊接?飛線肯定不行,頻率那么高,而且走線在內(nèi)部,根本沒有辦法。即使可以飛,高頻特性也會變化,無法給以后的修改提供依據(jù)。割線也不成,找不到合適位置鉆孔。手工焊接達不到質(zhì)量要求。綜上,一旦發(fā)現(xiàn)錯誤,最好就地銷毀,眼不見心不煩。目前的現(xiàn)狀是:原理圖、PCB圖均在計算機上完成,F(xiàn)PGA用HDL語言,仿真用軟件,焊接用貼片機編程實現(xiàn)。幾乎沒有什么可以動手的地方了。另外CPU正朝多核方向發(fā)展,RISC比CISC更有前途(CISC的發(fā)熱量大的問題在沒有技術突破前無法解決,光看頻率沒用,過熱時CPU會偷偷降頻。)。*(6)UART串口硬件分析*引腳分析:9根標準的接口線dtr,dsr,rts,cts,dcd,gnd,rxd,txd,ri 4根地址線a0,a1,a2,c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝清庫存活動方案
- 智能座椅活動方案
- 景區(qū)歡送游客活動方案
- 期末手工展示活動方案
- 景區(qū)清理垃圾活動方案
- 村游園三八活動方案
- 景區(qū)實踐活動方案
- 景區(qū)糖酒活動策劃方案
- 果凍布丁活動方案
- 暑假旅游安全活動方案
- C-TPAT反恐知識培訓ppt課件
- 二代征信系統(tǒng)數(shù)據(jù)采集規(guī)范釋義
- 河南華泰特種電纜項目可行性分析報告
- 公司員工合理化建議獎勵辦法
- 加工中心刀具庫選擇PLC控制系統(tǒng)設計
- 主域故障無法啟動,額外域提升Active Directory
- 電商平臺POP模式商家入駐合作協(xié)議書(標準版)
- 初中生物知識點匯總細胞
- (完整版)四年級脫式計算題(160題)
- 高考??颊Z法填空詞性轉(zhuǎn)換匯總
- 上海延安中學初一新生分班(摸底)數(shù)學模擬考試(含答案)
評論
0/150
提交評論