一種實現(xiàn)高速微處理器間準確通信的裝置制造方法
【專利摘要】本實用新型涉及電通信領域,尤其涉及一種實現(xiàn)高速微處理器間準確通信的裝置,包括微處理器A和微處理器B,所述微處理器A包括第一CPU和串行端口A,所述微處理器B包括第二CPU、串行端口B及DMA控制器,所述微處理器A與所述串行端口A進行互通信,所述串行端口A與所述串行端口B進行互通信,所述串行端口B與所述DMA控制器進行互通信,所述DMA控制器與所述微處理器B進行互通信,所述裝置還包括電壓轉換電路,所述串行端口A與所述電壓轉換電路進行互通信,所述串行端口B與所述電壓轉換電路進行互通信。本實用新型在不增加硬件成本的前提下,提高CPU的工作效率,減小信號之間的時鐘偏移,使串行通信更加穩(wěn)定,高效。
【專利說明】—種實現(xiàn)高速微處理器間準確通信的裝置
【技術領域】
[0001]本實用新型涉及電通信領域,尤其涉及一種實現(xiàn)高速微處理器間準確通信的裝置。
【背景技術】
[0002]隨著多微機系統(tǒng)的廣泛應用和計算機網(wǎng)絡技術的普及,微處理器器之間的通信顯的愈來愈重要,通信有并行通信和串行通信兩種方式,在多微機系統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用串行通信方式。
[0003]目前,兩個不同微處理器器實現(xiàn)串行通信的方法一般有兩種,一是兩個微處理器器通過各自的CPU以及異步串行口進行異步串行通信;另一種是采用外接串行通信芯片,這種方法編程相對簡單,但增加了硬件成本和設計成本,所以第一種簡單的通信方式還是得到了很大的應用,但是隨著微處理器處理的任務越來越多,速度越來越快,這種簡單的異步串行口通信由于每個字節(jié)的處理都需要CPU的處理,嚴重影響了微處理器的效率,而且現(xiàn)在的微處理器時鐘都為高速時鐘,晶振或多或少都有誤差,加上其他一些物理因素,比如信號線的延遲以及畫版等問題,經(jīng)過分頻或者倍頻后都無法保證串行通信的精確同步,容易造成串行通信中的信號偏移,時鐘偏移具有累計效應,后果是使采樣混亂,更嚴重的會造成系統(tǒng)死機。
實用新型內(nèi)容
[0004]本實用新型解決的技術問題是:構建一種高速微處理器間準確通信的裝置,實現(xiàn)高速微處理器之間的準確通信。
[0005]本實用新型采取的技術方案為構建一種高速微處理器間準確通信的裝置,包括微處理器A和微處理器B,所述微處理器A包括第一 CPU和串行端口 A,所述微處理器B包括第二 CPU、串行端口 B及DMA控制器,所述微處理器A與所述串行端口 A進行互通信,所述串行端口 A與所述串行端口 B進行互通信,所述串行端口 B與所述DMA控制器進行互通信,所述DMA控制器與所述微處理器B進行互通信,所述微處理器A發(fā)送的數(shù)據(jù)通過所述DMA控制器中的DMA通道傳輸?shù)酱卸丝?A的多通道緩沖串行口的發(fā)送寄存器DXR中,所述微處理器B接收的數(shù)據(jù)通過所述DMA控制器中的DMA通道傳輸?shù)酱卸丝?B的多通道緩沖串行口的接收寄存器DXR中。
[0006]作為本實用新型的進一步改進,所述裝置還包括電壓轉換電路,所述串行端口 A與所述電壓轉換電路進行互通信,所述串行端口 B與所述電壓轉換電路進行互通信。
[0007]作為本實用新型的進一步改進,所述DMA控制器包括發(fā)送數(shù)據(jù)緩沖區(qū)、接收數(shù)據(jù)緩沖區(qū)、發(fā)送通道和接收通道。
[0008]作為本實用新型的進一步改進,所述串行端口為多通道緩沖串行口。
[0009]作為本實用新型的進一步改進,所述多通道緩沖串行口具有發(fā)送寄存器DXR和接收寄存器DDR。[0010]本實用新型的有益效果是:在不增加硬件成本的前提下,提高CPU的工作效率,減小信號之間的時鐘偏移,使串行通信更加穩(wěn)定,高效。
【專利附圖】
【附圖說明】
[0011]圖1是本實用新型一種高速微處理器間準確通信的裝置的結構示意圖。
【具體實施方式】
[0012]下面結合【專利附圖】
【附圖說明】及【具體實施方式】對本實用新型進一步說明。
[0013]圖中數(shù)字表示:1、第一 CPU ;2、串行端口 A ;3、電壓轉換電路;4、串行端口 B ;5、DMA控制器;6、第二 CPU ; I O、微處理器A ; 20、微處理器B。
[0014]如圖1所示,構建一種高速微處理器間準確通信的裝置,包括微處理器AlO和微處理器B10,所述微處理器AlO包括第一 CPUl和串行端口 A2,所述微處理器B20包括第二CPU2、串行端口 B4及DMA控制器5,所述微處理器AlO與所述串行端口 A2進行互通信,所述串行端口 A2與所述串行端口 B4進行互通信,所述串行端口 B4與所述DMA控制器5進行互通信,所述DMA控制器5與所述微處理器B20進行互通信,所述微處理器AlO發(fā)送的數(shù)據(jù)通過所述DMA控制器5中的DMA通道傳輸?shù)酱卸丝?A2的多通道緩沖串行口的發(fā)送寄存器DXR中,所述微處理器B接收的數(shù)據(jù)通過所述DMA控制器中5的DMA通道傳輸?shù)酱卸丝?B2的多通道緩沖串行口的接收寄存器DXR中。。
[0015]如圖1所示,所述裝置還包括電壓轉換電路3,所述串行端口 A2與所述電壓轉換電路3進行互通信,所述串行端口 B4與所述電壓轉換電路3進行互通信。
[0016]如圖1所示,所述DMA控制器5包括發(fā)送數(shù)據(jù)緩沖區(qū)、接收數(shù)據(jù)緩沖區(qū)、發(fā)送通道和接收通道。
[0017]如圖1所示,所述串行端口為多通道緩沖串行口。
[0018]如圖1所示,所述多通道緩沖串行口具有發(fā)送寄存器DXR和接收寄存器DDR。
[0019]本裝置使用的全雙工異步串行通信方法:簡單來說就是利用McBSP(多通道緩沖串行口)和DMA (直接存儲器訪問)直接實現(xiàn)異步串行通信,然后對接收的數(shù)據(jù)流進行過采樣,并使時鐘偏移限制在一定范圍之內(nèi),從而使串行通信更加穩(wěn)定,CPU效率更高。
[0020]串行通信時,首先初始化兩個微處理器,微處理器發(fā)送和接受的數(shù)據(jù)存儲在數(shù)據(jù)存儲器中,為了實現(xiàn)高速處理,減少CPU響應McBSP數(shù)據(jù)寄存器中斷的次數(shù)。發(fā)送和接收數(shù)據(jù)與McBSP發(fā)送和接收寄存器DXR和DDR之間的數(shù)據(jù)傳輸通過DMA通道完成。
[0021]如以DMA通道I作為數(shù)據(jù)接收通道,DMA通道2作為數(shù)據(jù)發(fā)送通道。將通道I和2的同步事件分別設置為McBSP串口接收事件和串口發(fā)送事件,DMA通道I的源地址為McBSP的接收寄存器DRR地址,目的地址為數(shù)據(jù)存儲器中存放接收數(shù)據(jù)變量地址;
[0022]以DMA通道2的源地址為數(shù)據(jù)存儲器中待發(fā)的數(shù)據(jù),目的地址為McBSP的DXR寄存器地址。每當McBSP接收到數(shù)據(jù)時,會觸發(fā)DMA通道I將接收到的數(shù)據(jù)拷貝到微處理器數(shù)據(jù)存儲器的相應位置,同時目的地址指針自動加1,發(fā)送數(shù)據(jù)時,DMA通道2將待發(fā)送數(shù)據(jù)拷貝到DXR,將數(shù)據(jù)依次發(fā)出。
[0023]發(fā)送數(shù)據(jù)時,待發(fā)字符被打包成適于串行通信接收的數(shù)據(jù)格式,如起始字符、數(shù)據(jù)包、停止字符、校驗位。首先發(fā)送起始位,然后是數(shù)據(jù)位最低位,最后發(fā)送停止位。[0024]接收數(shù)據(jù)時,進行16倍過采樣,取過采樣到每個16位二進制數(shù)據(jù)字的中間五位,若中間四位中I的個數(shù)不小于4,則表示收到當前的數(shù)據(jù)位為I ;若中間四位中O的個數(shù)不少于4,則表示收到的串行通信數(shù)據(jù)位為0,否則認為數(shù)據(jù)傳輸出錯。
[0025]由于時鐘偏移具有累計效應,可以采取過采樣,但這并不能徹底的遏制時鐘偏移帶來的危害,特別是微處理器的時鐘頻率越來越高,很小的時鐘偏移就可能帶來不可估量的傷害一使數(shù)據(jù)收發(fā)不穩(wěn)定,嚴重情況下會使微處理器死機等。所以要徹底減小時鐘偏移帶來的危害,使串行通信更加穩(wěn)定,就必須保證時鐘偏移始終在預定的安全范圍之內(nèi)。所以在正式進行串行通信之前我們可以使兩個微處理器進行預通信,在預通信中,我們可以通過檢測數(shù)據(jù)的正確與否來確定采樣時鐘的快慢。通過預通信,還要統(tǒng)計出開始接收數(shù)據(jù)到數(shù)據(jù)接收錯誤所需要的時間,這樣在正式通信時,我們可以通過預通信的實驗結果每隔特定的時鐘周期對采樣時鐘進行提前或者延后,使采樣時鐘的偏移始終處在安全范圍之內(nèi)。這樣就可以有效地、高速的、穩(wěn)定的實現(xiàn)串行通信。
[0026]由于時鐘偏移具有累計效應,我們預先實驗已經(jīng)獲知采樣時鐘是偏快還是偏慢,并且知道了使數(shù)據(jù)失效的時間,所以在進行串行通信時,每隔特定的時鐘周期,提前或者延遲采樣時鐘。這樣時鐘偏移就始終處在安全范圍之內(nèi)。通過以上方法串行通信將會一直穩(wěn)定的收發(fā)數(shù)據(jù)。但任何系統(tǒng)都會有意外情況,所以在最后還要加一個時鐘檢測部分,通過檢測奇偶校驗位或者其它檢測方法確保數(shù)據(jù)的正確性,一旦數(shù)據(jù)出錯,可以延遲或者提前采樣時鐘,將采樣時鐘的時鐘偏移減小到安全范圍之內(nèi)。第一處時鐘檢測可以確保時鐘偏移始終處在安全范圍之內(nèi),第二處時鐘檢測可以遏制意外情況的發(fā)生。
[0027]串行通信存在時鐘偏移的情況,這樣容易使采樣混亂,有時候還會使系統(tǒng)死機,一種有效的辦法就是對接收數(shù)據(jù)進行過采樣,如進行16倍過采樣,取過采樣到每個16位二進制數(shù)據(jù)字的中間五位,若中間四位中I的個數(shù)不小于4,則表示收到當前的數(shù)據(jù)位為I ;若中間四位中O的個數(shù)不少于4,則表示收到的串行通信數(shù)據(jù)位為0,否則認為數(shù)據(jù)傳輸出錯。為進一步減小時鐘偏差,可以通過預先實驗獲知采樣時鐘是偏快還是偏慢,每隔一定的周期,對接收的數(shù)據(jù)進行檢測,通過比較起始字符和停止字符或者其它檢測方法,判斷是否為預先設置的字符,當接收的數(shù)據(jù)不為預先設置的字符時,統(tǒng)計出這段時間,這段時間就是時鐘偏移造成數(shù)據(jù)不穩(wěn)定的時間,在以后的串行通信中,我們可以每隔這段時間提前或者延后米樣時鐘,確保時鐘偏移始終在安全沮圍之內(nèi)。
[0028]以上內(nèi)容是結合具體的優(yōu)選實施方式對本實用新型所作的進一步詳細說明,不能認定本實用新型的具體實施只局限于這些說明。對于本實用新型所屬【技術領域】的普通技術人員來說,在不脫離本實用新型構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本實用新型的保護范圍。
【權利要求】
1.一種實現(xiàn)高速微處理器間準確通信的裝置,其特征在于:包括微處理器A和微處理器B,所述微處理器A包括第一 CPU和串行端口 A,所述微處理器B包括第二 CPU、串行端口B及DMA控制器,所述微處理器A與所述串行端口 A進行互通信,所述串行端口 A與所述串行端口 B進行互通信,所述串行端口 B與所述DMA控制器進行互通信,所述DMA控制器與所述微處理器B進行互通信,所述微處理器A發(fā)送的數(shù)據(jù)通過所述DMA控制器中的DMA通道傳輸?shù)酱卸丝?A的多通道緩沖串行口的發(fā)送寄存器DXR中,所述微處理器B接收的數(shù)據(jù)通過所述DMA控制器中的DMA通道傳輸?shù)酱卸丝?B的多通道緩沖串行口的接收寄存器DXR 中。
2.根據(jù)權利要求1所述實現(xiàn)高速微處理器間準確通信的裝置,其特征在于:所述裝置還包括電壓轉換電路,所述串行端口 A與所述電壓轉換電路進行互通信,所述串行端口 B與所述電壓轉換電路進行互通信。
3.根據(jù)權利要求1所述實現(xiàn)高速微處理器間準確通信的裝置,其特征在于:所述DMA控制器包括發(fā)送數(shù)據(jù)緩沖區(qū)、接收數(shù)據(jù)緩沖區(qū)、發(fā)送通道和接收通道。
【文檔編號】G06F15/163GK203659004SQ201320725409
【公開日】2014年6月18日 申請日期:2013年11月15日 優(yōu)先權日:2013年11月15日
【發(fā)明者】楊軍超, 周中華, 張駒鵬, 林鎮(zhèn)葵, 王明江 申請人:哈爾濱工業(yè)大學深圳研究生院