專利名稱:波特率自適應串行通信中繼器的制作方法
技術領域:
本發(fā)明一種波特率自適應串行通信中繼器的制作方法屬于電子通信領 域,特別涉及波特率自適應通信中繼器的制作方法。
背景技術:
串行通信結構簡單、硬件開銷小,是當前應用最多的通信方式。隨著 串行總線網絡區(qū)域的擴大,兩個節(jié)點之間的直接傳輸數據難以滿足遠距離 通信要求。中繼器是延長串行總線通信距離的中轉站,其通信效率和通信 的可靠性直接影響串行總線的通信能力,傳統(tǒng)的基于單微控制器的串行總 線中繼器難以滿足大量數據的中轉要求,因此設計一款性能優(yōu)越的中繼器
就顯得非常重要了。申請?zhí)枮?00810020715.8的專利基于雙口RAM的 雙CPU保護信息共享系統(tǒng)及信息處理方法,采用了雙口RAM芯片,兩個 CPU系統(tǒng),分別與雙口RAM的兩端相連,每個CPU系統(tǒng)完成運算任務的 不同部分,由雙口RAM共享兩個CPU系統(tǒng)需要交互的保護信息。此專利 中只使用了雙口 RAM共享數據,而沒有直接用信號線把兩個CPU連接起 來,因此兩個CPU必需通過雙口 RAM進行聯絡,缺乏任務控制的實時性。 因此本專利在使用雙口 RAM共享數據的同時用信號線直接將兩個CPU相 聯,兩個CPU能夠實時查詢對方的狀態(tài)。 一種利用雙口 RAM進行異步數 據傳輸的裝置,申請?zhí)?00710001170.1,公開號CN101232434,公開了 一種利用雙口RAM進行異步數據傳輸的裝置,該裝置包括 一個數據更新 FIFO、 一個數據更新控制器和一個數據雙口RAM。專利中只是對設備異步 數據傳輸的中轉,數據傳輸是單方向的,且無MCU控制,靈活性差。
發(fā)明內容
本發(fā)明要解決的技術難題是串行通信傳輸距離短,采用傳統(tǒng)的中繼 器后,雖然解決了通信距離問題,但總線的上的傳輸數據速度和數據的批 量都有一定的限制,而且需要人工設置中繼器的通信波特率。本發(fā)明采用
雙口 RAM配合雙微控制器的方案,雙口 RAM作為雙微控制器件的共享資 源,能夠進行數據數據共享,同時,雙微控制器可以直接進行通信聯絡, 快速調度處理數據,解決了串行總線上大批量數據傳輸問題;采用可編程 器件設計波特率自適應串行通信器件,解決了通信波特率的自適應問題。本發(fā)明采用的技術方案 一種波特率自適應串行通信中繼器的制作方 法,采用第一微控制器ni、第二微控制器w與雙口 ram3相連接的數據處 理方式,第一微控制器III的引腳p2.2與第二微控制器IV的引腳p2.2直接相 連接,第一微控制器iii的引腳p2.3與第二微控制器iv的引腳p2.3直接相連 接,它們之間直接進行通信聯絡,實時處理來自第一波特率自適應串行通 信器件i 、第二波特率自適應串行通信器件ii上的數據;雙口 ram3作為 第一微控制器in、第二微控制器w的共享資源,雙口 ram3的第一數據/ 地址總線db1/ab1與第一微控制器m的端口 p0相連,雙口 ram3的第二 數據/地址總線db2/ab2與第二微控制器iv的端口 p0相連;第一微控制器 III從第一波特率自適應串行通信器件I上接收來的數據送入雙口 ram3, 這些數據要被第二微控制器iv取走,送到第二波特率自適應串行通信器件
n上;第二微控制器iv從第二波特率自適應串行通信器件n接收來的數據
送入雙口 ram3,這些數據要被第一微控制器iii取走,送到第一波特率自
適應串行通信器件I上。
將第一微控制器in與第一波特率自適應串行通信器件i通過信號線連
接即第一波特率自適應串行通信器件i的外部復位信號引腳rst與第一
微控制器m的端口引腳p2.4相連,第一波特率自適應串行通信器件i的數
據發(fā)送使能信號te與第一微控制器iii的端口引腳p2. 5相連,第一波特率 自適應串行通信器件i的用于傳輸發(fā)送數據的并行總線tdb與第一微控制
器in的端口 p3相連,第一波特率自適應串行通信器件i的發(fā)送完畢標
志信號控制引腳ti與第一微控制器in的端口引腳p2. 6相連,第一波特率 自適應串行通信器件I的用于傳輸接收數據的并行總線rdb與第一微控制
器m的端口 pi相連,第一波特率自適應串行通信器件i的數據接收完畢標
志信號引腳ri與第一微控制器iii的端口引腳p2.7相連。
將第二微控制器iv與第二波特率自適應串行通信器件n通過信號線連
接即第二波特率自適應串行通信器件ii的外部復位信號引腳rst與第二 微控制器w的端口引腳p2. 4相連,第二波特率自適應串行通信器件ii的數 據發(fā)送使能信號te與第二微控制器w的端口引腳p2. 5相連,第二波特率 自適應串行通信器件ii的用于傳輸發(fā)送數據的并行總線tdb與第二微控制 器iv的端口 p3相連,第二波特率自適應串行通信器件ii的發(fā)送完畢標志信號控制引腳TI與第二微控制器IV的端口引腳P2.6相連,第二波特率自
適應串行通信器件II的用于傳輸接收數據的并行總線RDB與第二微控制器
iv的端口 pi相連,第二波特率自適應串行通信器件n的數據接收完畢標志
信號引腳RI與第二微控制器IV的端口引腳P2.7相連。
第一波特率自適應串行通信器件I、第二波特率自適應串行通信器件 II其制作方法相同,其內部模塊包括波特率自適應發(fā)生器6、信號轉換器7, 并-串數據接收移位器10、串-并數據發(fā)送移位器11、邏輯與門8和邏輯非 門9,均采用可編程器件制作,其中,波特率自適應發(fā)生器6、并-串數據發(fā) 送移位器10、串-并數據接收移位器11均采用程序狀態(tài)機編程模式,其制 作步驟如下
用硬件描術語言VHDL編寫程序,來實現波特率自適應發(fā)生器6對波 特率的自適應控制;定義波特率自適應發(fā)生器6的內部復位信號Reset,波 特率時鐘輸出信號BaudClk,內部時鐘信號clock,復位輸出信號ResetOut, 串行數據接收校準信號RxDip,并將內部時鐘信號clock映射到外部時鐘信 號引腳CLK,內部復位信號Reset映射到外部復位信號引腳RST;波特率 自適應發(fā)生器6用來產生適合于相應波特率的時鐘信號,其波特率通過輸 入時鐘CLK生成,當復位引腳RST有效后,系統(tǒng)實現復位并進入時鐘控制 開始狀態(tài)101,等待接收第一個字節(jié),這一字節(jié)作為串行通信收發(fā)數據波特 率的校準字節(jié),本系統(tǒng)選取0x55作校準字節(jié),由5個低電平和4個高電平 交替出現的方波,其中每個電平分別持續(xù)一個波特率周期。在時鐘控制邏 輯處于時鐘控制開始狀態(tài)101時,當RxD為低電平時,跳轉到校準字節(jié)接 收狀態(tài)102開始計數。計數一直到最后一個低電平結束為止, 一共9個周 期,對9個周期計數的結果除以9,便可得到一個波特率周期對應的系統(tǒng)時 鐘周期數,然后計算出對第一波特率自適應串行通信器件時鐘源2和第二 波特率自適應串行通信器件時鐘源4的分頻值并進行分頻設置;接下來進 入正常工作狀態(tài)103,從而生成了串行通信收發(fā)數據波特率。
用硬件描術語言VHDL編寫程序實現信號轉換器7:定義信號轉換器7 的內部復位信號Reset,內部時鐘信號clock,信號轉換器輸入信號Sigln, 信號轉換器輸出信號SigOut,等待信號WaitSig,并將信號轉換器輸入信號 Sigln映射到數據發(fā)送使能信號TE,內部復位信號Reset映射到外部復位信號引腳RST;信號轉換器7將高速的數據發(fā)送使能信號TE由信號轉換器輸 入信號Sigln輸入,轉換成低速信號后,由信號轉換器輸出信號SigOut輸 出到并-串數據發(fā)送移位器10的發(fā)送命令信號SendCmd的輸入端。
用硬件描術語言VHDL編寫程序,來實現并-串數據發(fā)送移位器10對 數據的發(fā)送;定義并-串數據發(fā)送移位器10的內部復位信號Reset,內部時 鐘信號clock,發(fā)送命令信號SendCmd ,數據發(fā)送完畢標志信號Done, 8 位發(fā)送數據緩存TxD一buf(7:0), 1位串行數據發(fā)送緩存TxDi,串行數據發(fā) 送引腳TxD,并將1位串行數據發(fā)送緩存TxDi映射到串行數據發(fā)送引腳 TxD, 8位發(fā)送數據緩存TxD一buf(7:0)映射到用于傳輸發(fā)送數據的并行總 線TDB上;并-串數據發(fā)送移位器10完成數據的發(fā)送,初始處于發(fā)送器空 閑狀態(tài)201,在該狀態(tài)下等待數據發(fā)送命令;當收到數據發(fā)送使能信號TE 后,跳轉到開始發(fā)送狀態(tài)202,發(fā)送起始位,之后跳轉到數據移位發(fā)送狀態(tài) 203依次從低位發(fā)送各個數據位,每次發(fā)送后跳轉到數據發(fā)送等待狀態(tài)204 等待串口波特率所需要的延時時間,等待結束后若還有要發(fā)送的數據位則 跳轉回數據移位發(fā)送狀態(tài)203繼續(xù)發(fā)送;若已發(fā)送完畢則跳轉到數據發(fā)送 結束狀態(tài)205發(fā)送終止位,這時數據發(fā)送完畢標志信號Done經過邏輯非門 9轉換電平后并和發(fā)送命令信號SendCmd通過邏輯與門8作"與"操作, 輸出結果送到發(fā)送完畢標志信號控制引腳TI,至此,并-串數據發(fā)送移位器 10完成本次數據的發(fā)送,最后跳轉回發(fā)送器空閑狀態(tài)201等待下一次發(fā)送;
用硬件描術語言VHDL編寫程序,實現串-并數據接收移位器11對數 據的接收定義串-并數據接收移位器11的內部復位信號Reset,內部時鐘 信號clock, 1位串行數據接收緩存RxDi, 8位接收數據緩存RxD一buf(7:0), 數據接收完畢標志信號Ready,并將1位串行數據接收緩存RxDi映射到串 行數據接收引腳RxD, 8位接收數據緩存RxD一buf(7:0)映射到用于傳輸接收 數據的并行總線RDB,數據接收完畢標志信號Ready映射到數據接收完畢 標志信號引腳RI上;串-并數據接收移位器ll完成數據的接收,當RxD發(fā) 生電平翻轉一個脈沖RxDK)狀態(tài)出現時(即有數據將要到達),則跳轉到 開始接收狀態(tài)302,在該狀態(tài)下接收起始位,如果在該狀態(tài)的下一時鐘內, RxD又回到高電平RxD4的情況,則說明串口線上產生電平抖動,不會繼 續(xù)接收。如果出現了連續(xù)的低電平RxD=0,確認有數據需要接收,并跳轉到數據接收等待狀態(tài)303等待采樣點;當采樣點時刻到來時跳轉到數據接 收采樣狀態(tài)304對RxD進行采樣,并保存采樣結果,再次跳轉到數據接收 等待狀態(tài)303,等待下一次采樣;如果全部采樣結束,跳轉到數據接收結束 狀態(tài)305,該狀態(tài)將接收結果輸出,并通過數據接收完畢標志信號Ready 發(fā)送信號通知用戶接收完畢,至此,串-并數據接收移位器ll完成本次數據 的接收,然后跳轉回接收器空閑狀態(tài)301等待下一次數據接收。
最后對各個模塊信號進行連接波特率自適應發(fā)生器6的內部時鐘信號 clock與信號轉換器7的內部時鐘信號clock相連,波特率自適應發(fā)生器6 的波特率時鐘輸出信號BaudClk與并-串數據發(fā)送移位器10的內部時鐘信號 clock、串-并數據接收移位器11的內部時鐘信號clock相連,波特率自適應 發(fā)生器6的復位輸出信號ResetOut與信號轉換器7的內部復位信號Reset、 并-串數據發(fā)送移位器10的內部復位信號Reset、串-并數據接收移位器11 的內部復位信號Reset相連,波特率自適應發(fā)生器6的串行數據接收校準信 號RxDip與串-并數據接收移位器11的1位串行數據接收緩存RxDi,相連, 信號轉換器7的輸出信號SigOut與并-串數據發(fā)送移位器10的發(fā)送命令信 號SendCmd相連,并-串數據發(fā)送移位器10的數據發(fā)送完畢標志信號Done 經過邏輯非門9轉換電平后并與并-串數據發(fā)送移位器10的發(fā)送命令信號 SendCmd通過邏輯與門8輸出后連接到發(fā)送完畢標志信號控制引腳TI。
本發(fā)明的效果是采用雙微控制器配合雙口 RAM快速處理數據,用可編 程邏輯器件制作的波特率自適應串行收發(fā)器件,結構新穎、通信穩(wěn)定速度 高,能自動識別總線上的數據速率。雙口RAM作為共享內存,兩個微控制 器交換數據時無需數據等待。使用波特率自適應串行通信中繼器后,在不 同的場合下無需對中繼器的通信波特率進行人工設置,通信距離能夠延長 到原來的二倍。接口靈活方便,易與控制。具有良好的可維護性和擴展性, 較好的經濟性,制造方便,成本低。
圖l為自適應雙微控制器串行通信中繼器硬件總體設計圖,圖2為第一 波特率自適應串行通信器件I和第二波特率自適應串行通信器件II的內部 邏輯與信號關系圖。其中,I一第一波特率自適應串行通信器件,II一第
二波特率自適應串行通信器件,in—第一微控制器,iv—第二微控制器,i
10一第一 串行通信外接口接線端子,2—第一波特率自適應串行通信器件時鐘
源,3—雙口RAM, 4一第二波特率自適應串行通信器件時鐘源,5—第二串 行通信外接口接線端子,6—波特率自適應發(fā)生器,7—信號轉換器,8— 邏輯與門,9一邏輯非門,10—并-串數據發(fā)送移位器;ll一串-并數據接收 移位器,CLK一外部時鐘信號引腳,TxD—串行數據發(fā)送引腳,RxD—串行 數據接收引腳,TI一發(fā)送完畢標志信號控制引腳,RI—數據接收完畢標志 信號引腳,RST—外部復位信號引腳,TE—數據發(fā)送使能信號,TDB—用 于傳輸發(fā)送數據的并行總線,RDB—用于傳輸接收數據的并行總線, DB1/AB1—雙口RAM的第一數據/地址總線,DB2/AB2—雙口RAM的第二 數據/地址總線,P0—微控制第0端口, Pl—微控制第l端口, P3—微控制第 2端口, P2.2—微控制端口2第2引腳,P2.3—微控制端口2第3引腳,P2.4— 微控制端口2第4引腳,P2.5—微控制端口2第5引腳,P2.6—微控制端口2第6 引腳,P2.7—微控制端口2第7引腳,Reset—內部復位信號,BaudClk—波 特率時鐘輸出信號,clock—內部時鐘信號,ResetOut—復位輸出信號,RxDip 一串行數據接收校準信號,Sigln—信號轉換器輸入信號,SigOut—信號轉 換器輸出信號,WaitSig—等待信號,TxD—buf(7:0)—8位發(fā)送數據緩存, RxDJ uf(7:0)—8位接收數據緩存,TxDi—l位串行數據發(fā)送緩存,RxDi— l位串行數據接收緩存,SendCmd—發(fā)送命令信號,Ready—數據接收完畢 標志信號引腳,Done—數據發(fā)送完畢標志信號,
圖3為波特率自適應發(fā)生器6程序狀態(tài)機,圖4為并-串數據發(fā)送移位器10 程序狀態(tài)機,圖5為串-并數據接收移位器ll程序狀態(tài)機。其中IOI—時鐘 控制開始狀態(tài),102—校準字節(jié)接收狀態(tài),103—正常工作狀態(tài),201—發(fā)送 器空閑狀態(tài),202—幵始發(fā)送狀態(tài),203—數據移位發(fā)送狀態(tài),204—數據發(fā) 送等待狀態(tài),205—數據發(fā)送結束狀態(tài),301—接收器空閑狀態(tài),302—開始 接收狀態(tài),303—數據接收等待狀態(tài),304—數據接收采樣狀態(tài),305—數 據接收結束狀態(tài)。
具體實施例方式
下面結合說明書附圖和技術方案詳細說明本發(fā)明的
具體實施例方式波 特率自適應串行通信中繼器上電啟動后,首先進行初始化,設置可用的雙
口RAM3的大小,使各個器件均處于使能狀態(tài),第一波特率自適應串行通信器件I、第二波特率自適應串行通信器件II處于監(jiān)控狀態(tài)。然后由波特
率自適應發(fā)生器6完成波特率的自適應,波特率自適應發(fā)生器6程序狀態(tài) 機如附圖3所示系統(tǒng)復位后,波特率自適應發(fā)生器6進入時鐘控制開始 狀態(tài)IOI,等待接收第一個字節(jié),這一字節(jié)作為串行通信收發(fā)數據波特率的 校準字節(jié),本系統(tǒng)選取0x55作校準字節(jié),由5個低電平和4個高電平交替 出現的方波,其中每個電平分別持續(xù)一個波特率周期;當RxD為低電平時, 跳轉到校準字節(jié)接收狀態(tài)102開始計數;計數一直到最后一個低電平結束 為止, 一共9個周期,對9個周期計數的結果除以9,便可得到一個波特率 周期對應的系統(tǒng)時鐘周期數。然后計算出對第一波特率自適應串行通信器 件時鐘源2和第二波特率自適應串行通信器件時鐘源4的分頻值并進行分 頻設置;接下來進入正常工作狀態(tài)103,從而生成了串行通信收發(fā)數據波特 率。
下面以串行數據從第一串行通信外接口接線端子1接收,通過第二串 行通信外接口接線端子5發(fā)送出去為例說明中繼器的具體實施方式
。
串-并數據接收移位器11程序狀態(tài)機如附圖5所示,初始處于接收器空 閑狀態(tài)301,在該狀態(tài)下第一波特率自適應串行通信器件I等待第一串行通 信外接口接線端子1上的數據;當RxD發(fā)生電平翻轉一個脈沖RxD=0狀態(tài) 出現時(即有數據將要到達),則跳轉到開始接收狀態(tài)302,在該狀態(tài)下接 收起始位,如果在該狀態(tài)的下一時鐘內,RxD又回到高電平RxD=l的情況, 則說明串口線上產生電平抖動,不會繼續(xù)接收;如果出現了連續(xù)的低電平 RxD=0,確認有數據需要接收,并跳轉到數據接收等待狀態(tài)303,該狀態(tài)等 待采樣點;當采樣點時刻到來時跳轉到數據接收采樣狀態(tài)304,對RxD進 行采樣,并保存采樣結果;接下來再次跳轉到數據接收等待狀態(tài)303,等待 下一次采樣;如果全部采樣結束,跳轉到數據接收結束狀態(tài)305,該狀態(tài)將 接收結果輸出,并通過數據接收完畢標志信號Ready發(fā)送信號通知用戶接 收完畢,然后跳轉回接收器空閑狀態(tài)301等待下一次數據接收。
接下來第一微控制器III通過端口 Pl從第一波特率自適應串行通信器件 I的用于傳輸接收數據的并行總線RDB上接收數據,并送入雙口 RAM3, 這些數據要被第二微控制器IV取走,當第二微控制器IV通過P2.6查詢到TI 標志發(fā)送器件可用時,則通過端口 P3把數據送到第二波特率自適應串行通信器件II的用于傳輸發(fā)送數據的并行總線TDB上,通過P2.5設置發(fā)送使能 命令TE,使第二波特率自適應串行通信器件II處于發(fā)送狀態(tài)。
采用并-串數據發(fā)送移位器10來完成數據的發(fā)送,并-串數據發(fā)送移位 器10程序狀態(tài)如附圖4所示,初始處于發(fā)送器空閑狀態(tài)201,在該狀態(tài)下 等待數據發(fā)送命令;當收到數據發(fā)送使能信號TE后,跳轉到開始發(fā)送狀態(tài) 202,發(fā)送起始位;然后跳轉到數據移位發(fā)送狀態(tài)203,依次從低位發(fā)送各 個數據位;每次發(fā)送后跳轉到數據發(fā)送等待狀態(tài)204等待串口波特率所需 要的延時時間,等待結束后若還有要發(fā)送的數據位則跳轉回數據移位發(fā)送 狀態(tài)203繼續(xù)發(fā)送;若已發(fā)送完畢則跳轉到數據發(fā)送結束狀態(tài)205發(fā)送終 止位,這時數據發(fā)送完畢標志信號Done經過邏輯非門9轉換電平后并和發(fā) 送命令信號SendCmd通過邏輯與門8作"與"操作,輸出結果送到發(fā)送完 畢標志信號控制引腳TI,至此,并-串數據發(fā)送移位器10完成本次數據發(fā) 送,最后跳轉回發(fā)送器空閑狀態(tài)201等待下一次發(fā)送。
本發(fā)明波特率適應能力強,第一串行通信外接口接線端子1和第二串 行通信外接口接線端子5是完全對稱的結構,使用方便,采用雙微控制器, 數據周轉延遲時間短,能夠適應串行總線上大批量數據傳輸中轉的要求, 將串行總線的的通信距離延長一倍,第一波特率自適應串行通信器件I和 第二波特率自適應串行通信器件II采用可編程邏輯器件制作,波特率無需 人工設置,能夠自適應串行總線上的波特率,處理速度快,可擴展性強。
1權利要求
1、一種波特率自適應串行通信中繼器的制作方法,其特征是,采用第一微控制器(III)、第二微控制器(IV)與雙口RAM(3)相連接的數據處理方式,第一微控制器(III)的引腳P2.2與第二微控制器(IV)的引腳P2.2直接相連接,第一微控制器(III)的引腳P2.3與第二微控制器(IV)的引腳P2.3直接相連接,它們之間直接進行通信聯絡,實時處理來自第一波特率自適應串行通信器件(I)、第二波特率自適應串行通信器件(II)上的數據;雙口RAM(3)作為第一微控制器(III)、第二微控制器(IV)的共享資源,雙口RAM(3)的第一數據/地址總線DB1/AB1與第一微控制器(III)的端口P0相連,雙口RAM(3)的第二數據/地址總線DB2/AB2與第二微控制器(IV)的端口P0相連;第一微控制器(III)從第一波特率自適應串行通信器件(I)上接收來的數據送入雙口RAM(3),這些數據要被第二微控制器(IV)取走,送到第二波特率自適應串行通信器件(II)上;第二微控制器(IV)從第二波特率自適應串行通信器件(II)接收來的數據送入雙口RAM(3),這些數據要被第一微控制器III)取走,送到第一波特率自適應串行通信器件(I)上;將第一微控制器(III)與第一波特率自適應串行通信器件(I)通過信號線連接即第一波特率自適應串行通信器件(I)的外部復位信號引腳RST與第一微控制器(III)的端口引腳P2.4相連,第一波特率自適應串行通信器件(I)的數據發(fā)送使能信號TE與第一微控制器III)的端口引腳P2.5相連,第一波特率自適應串行通信器件(I)的用于傳輸發(fā)送數據的并行總線TDB與第一微控制器(III)的端口P3相連,第一波特率自適應串行通信器件(I)的發(fā)送完畢標志信號控制引腳TI與第一微控制器(III)的端口引腳P2.6相連,第一波特率自適應串行通信器件(I)的用于傳輸接收數據的并行總線RDB與第一微控制器(III)的端口P1相連,第一波特率自適應串行通信器件(I)的數據接收完畢標志信號引腳RI與第一微控制器(III)的端口引腳P2.7相連;將第二微控制器(IV)與第二波特率自適應串行通信器件(II)通過信號線連接即第二波特率自適應串行通信器件(II)的外部復位信號引腳RST與第二微控制器(IV)的端口引腳P2.4相連,第二波特率自適應串行通信器件(II)的數據發(fā)送使能信號TE與第二微控制器(IV)的端口引腳P2.5相連,第二波特率自適應串行通信器件(II)的用于傳輸發(fā)送數據的并行總線TDB與第二微控制器(IV)的端口P3相連,第二波特率自適應串行通信器件(II)的發(fā)送完畢標志信號控制引腳TI與第二微控制器(IV)的端口引腳P2.6相連,第二波特率自適應串行通信器件(II)的用于傳輸接收數據的并行總線RDB與第二微控制器(IV)的端口P1相連,第二波特率自適應串行通信器件(II)的數據接收完畢標志信號引腳RI與第二微控制器(IV)的端口引腳P2.7相連。
2、如權利要求l所示一種波特率自適應串行通信中繼器的制作方法,其特征 是,第一波特率自適應串行通信器件(I )、第二波特率自適應串行通信器件(II)其制作方法相同,其內部模塊包括波特率自適應發(fā)生器(6)、信號轉 換器(7),并-串數據接收移位器(10)、串-并數據發(fā)送移位器(11)、邏輯與 門(8)和邏輯非門(9),均采用可編程器件制作,其中,波特率自適應發(fā)生 器(6)、并-串數據發(fā)送移位器(10)、串-并數據接收移位器(11)均采用程 序狀態(tài)機編程模式,其制作步驟如下用硬件描術語言VHDL編寫程序,來實現波特率自適應發(fā)生器(6)對波 特率的自適應控制;定義波特率自適應發(fā)生器(6)的內部復位信號Reset, 波特率時鐘輸出信號BaudClk,內部時鐘信號clock,復位輸出信號ResetOut, 串行數據接收校準信號RxDip,并將內部時鐘信號clock映射到外部時鐘信號 引腳CLK,內部復位信號Reset映射到外部復位信號引腳RST;波特率自適 應發(fā)生器(6)用來產生適合于相應波特率的時鐘信號,其波特率通過輸入時 鐘CLK生成,當復位引腳RST有效后,系統(tǒng)實現復位并進入時鐘控制開始狀 態(tài)(101),等待接收第一個字節(jié),這一字節(jié)作為串行通信收發(fā)數據波特率的 校準字節(jié),本系統(tǒng)選取0x55作校準字節(jié),由5個低電平和4個高電平交替出 現的方波,其中每個電平分別持續(xù)一個波特率周期,在時鐘控制邏輯處于時 鐘控制開始狀態(tài)(101)時,當RxD為低電平時,跳轉到校準字節(jié)接收狀態(tài)(102) 開始計數,計數一直到最后一個低電平結束為止, 一共9個周期,對9個周 期計數的結果除以9,便可得到一個波特率周期對應的系統(tǒng)時鐘周期數,然后 計算出對第一波特率自適應串行通信器件時鐘源(2)和第二波特率自適應串 行通信器件時鐘源(4)的分頻值并進行分頻設置;接下來進入正常工作狀態(tài)(103),從而生成了串行通信收發(fā)數據波特率;用硬件描術語言VHDL編寫程序實現信號轉換器(7):定義信號轉換器(7)的內部復位信號Reset,內部時鐘信號clock,信號轉換器輸入信號Sigln,信號轉換器輸出信號SigOut,等待信號WaitSig,并將信號轉換器輸入信號 Sigln映射到數據發(fā)送使能信號TE,內部復位信號Reset映射到外部復位信號 引腳RST;信號轉換器(7)將高速的數據發(fā)送使能信號TE由信號轉換器輸 入信號Sigln輸入,轉換成低速信號后,由信號轉換器輸出信號SigOut輸出 到并-串數據發(fā)送移位器(10)的發(fā)送命令信號SendCmd的輸入端;用硬件描術語言VHDL編寫程序,來實現并-串數據發(fā)送移位器(10)對 數據的發(fā)送;定義并-串數據發(fā)送移位器(10)的內部復位信號Reset,內部時 鐘信號dock,發(fā)送命令信號SendCmd ,數據發(fā)送完畢標志信號Done, 8位 發(fā)送數據緩存TxD—buf(7:0), 1位串行數據發(fā)送緩存TxDi,串行數據發(fā)送引 腳TxD,并將1位串行數據發(fā)送緩存TxDi映射到串行數據發(fā)送引腳TxD, 8 位發(fā)送數據緩存TxD一buf(7:0)映射到用于傳輸發(fā)送數據的并行總線TDB上; 并-串數據發(fā)送移位器(10)完成數據的發(fā)送,初始處于發(fā)送器空閑狀態(tài)(201 ), 在該狀態(tài)下等待數據發(fā)送命令;當收到數據發(fā)送使能信號TE后,跳轉到開始 發(fā)送狀態(tài)(202),發(fā)送起始位,然后跳轉到數據移位發(fā)送狀態(tài)(203)依次從 低位發(fā)送各個數據位,每次發(fā)送后跳轉到數據發(fā)送等待狀態(tài)(204)等待串口 波特率所需要的時延長度,等待結束后若還有要發(fā)送的數據位則跳轉回數據 移位發(fā)送狀態(tài)(203)繼續(xù)發(fā)送;若已發(fā)送完畢則跳轉到數據發(fā)送結束狀態(tài) (205)發(fā)送終止位,這時數據發(fā)送完畢標志信號Done經過邏輯非門(9)轉 換電平后并和發(fā)送命令信號SendCmd通過邏輯與門(8)作"與"操作,輸 出結果送到發(fā)送完畢標志信號控制引腳TI,至此,并-串數據發(fā)送移位器(10) 完成本次數據的發(fā)送,最后跳轉回發(fā)送器空閑狀態(tài)(201)等待下一次發(fā)送;用硬件描術語言VHDL編寫程序,實現串-并數據接收移位器(11)對數 據的接收定義串-并數據接收移位器(11)的內部復位信號Reset,內部時鐘 信號clock, 1位串行數據接收緩存RxDi, 8位接收數據緩存RxD一buf(7:0), 數據接收完畢標志信號Ready,并將1位串行數據接收緩存RxDi映射到串行 數據接收引腳RxD, 8位接收數據緩存RxD—buf(7:0)映射到用于傳輸接收數據 的并行總線RDB,數據接收完畢標志信號Ready映射到數據接收完畢標志信 號引腳R1上;串-并數據接收移位器(11)完成數據的接收,當RxD發(fā)生電 平翻轉一個脈沖RxD=0狀態(tài)出現時(即有數據將要到達),則跳轉到開始接 收狀態(tài)(302),在該狀態(tài)下接收起始位,如果在該狀態(tài)的下一時鐘內,RxD 又回到高電平RxD4的情況,則說明串口線上產生電平抖動,不會繼續(xù)接收,如果出現了連續(xù)的低電平RxD=0,確認有數據需要接收,并跳轉到數據接收 等待狀態(tài)(303)等待采樣點,當采樣點時刻到來時跳轉到數據接收采樣狀態(tài)G04)對RxD進行采樣,并保存采樣結果,然后再次跳轉到數據接收等待狀 態(tài)(303)等待下一次采樣,如果全部采樣結束,跳轉到數據接收結束狀態(tài)(305),該狀態(tài)將接收結果輸出,并通過數據接收完畢標志信號Ready發(fā)送 信號通知用戶接收完畢,至此,串-并數據接收移位器(11)完成本次數據的 接收,然后跳轉回接收器空閑狀態(tài)(301)等待下一次數據接收;最后對各個模塊信號進行連接波特率自適應發(fā)生器(6)的內部時鐘信 號dock與信號轉換器(7)的內部時鐘信號clock相連,波特率自適應發(fā)生器(6)的波特率時鐘輸出信號BaudClk與并-串數據發(fā)送移位器(10)的內部時 鐘信號clock、串-并數據接收移位器(11)的內部時鐘信號clock相連,波特 率自適應發(fā)生器(6)的復位輸出信號ResetOut與信號轉換器(7)的內部復 位信號Reset、并-串數據發(fā)送移位器(10)的內部復位信號Reset、串-并數據 接收移位器(11)的內部復位信號Reset相連,波特率自適應發(fā)生器(6)的 串行數據接收校準信號RxDip與串-并數據接收移位器(11)的l位串行數據 接收緩存RxDi,相連,信號轉換器(7)的輸出信號SigOut與并-串數據發(fā)送 移位器(10)的發(fā)送命令信號SendCmd相連,并-串數據發(fā)送移位器(10)的 數據發(fā)送完畢標志信號Done經過邏輯非門(9)轉換電平后并與并-串數據發(fā) 送移位器(10)的發(fā)送命令信號endCmd通過邏輯與門(8)輸出后連接到發(fā) 送完畢標志信號控制引腳TI。
全文摘要
本發(fā)明一種波特率自適應串行通信中繼器的制作方法屬于電子通信領域,特別涉及波特率自適應通信中繼器的制作方法。本發(fā)明采用第一微控制器、第二微控制器與雙口RAM相連接的數據處理方式,將第一微控制器與第一波特率自適應串行通信器件通過信號線連接將第二微控制器與第二波特率自適應串行通信器件通過信號線連接。第一、第二波特率自適應串行通信器件內部模塊包括波特率自適應發(fā)生器、信號轉換器,并-串數據接收移位器、串-并數據發(fā)送移位器、邏輯與門和邏輯非門,均采用可編程器件制作。結構新穎、通信穩(wěn)定速度高,能自動識別總線上的數據速率,雙口RAM作為共享內存。接口靈活方便,易與控制。具有良好的可維護性和擴展性,成本低。
文檔編號G06F13/42GK101551786SQ200910011449
公開日2009年10月7日 申請日期2009年5月5日 優(yōu)先權日2009年5月5日
發(fā)明者于玉龍, 賀 江, 鐵 邱 申請人:大連理工大學