楊 奇,劉 紅,李 斌
(昌吉學院 能源與控制工程學院,新疆 昌吉 831100)
通信總線是設備之間進行交互的關鍵裝置之一[1]。但是,不同種類的通信總線具備不同的傳輸協(xié)議,致使其對應的接口屬性也存在著較大的差異性,無法直接連接或者兼容應用。近年來,國內計算機、微電子、網絡與通信等技術發(fā)展速度飛快,遠距離數(shù)據(jù)傳輸需求逐漸增多,相較于并行傳輸模式來看,串行傳輸模式應用線路較少,被廣泛應用于設備通信過程中。隨著串行傳輸模式的不斷發(fā)展與應用,串口通信已經成為計算機領域內常用的通信協(xié)議之一。
為了滿足新興技術的發(fā)展需求,不同設備之間的交互活動顯著增多,對通信總線接口性能提出了更高的需求[2]?,F(xiàn)有接口由于多種因素的局限,使得接口存在兼容性較差、經濟成本較高、傳輸速度較慢、同步性較差等問題,制約著串口通信總線的應用與發(fā)展。簡單的完善與修改無法明顯提升接口的整體性能,故提出基于EDA 技術的常用串口通信總線接口邏輯設計,希望通過EDA 技術的引入與應用,改善接口的傳輸性能、兼容性能等,降低接口的經濟成本,為串口通信總線的發(fā)展提供助力。
根據(jù)常用串口通信總線接口完善需求,引入EDA技術搭建接口邏輯設計框架,為后續(xù)接口設計奠定堅實的基礎[3]。
EDA 技術全稱為電子設計自動化技術,其主要應用步驟如下所示:
步驟1:行為級描述。根據(jù)常用串口通信總線接口功能與性能需求,對接口整體電路進行設計與描述,實現(xiàn)設計接口的行為級描述。
步驟2:行為級優(yōu)化。對上述步驟實現(xiàn)的設計接口行為級描述結果進行優(yōu)化處理,主要通過適當?shù)乃惴▽崿F(xiàn),并對其所需功能進行仿真驗證。與此同時,由于EDA 工具只能夠對RTL 級描述進行讀取與處理,還需要將行為級描述轉化為RTL 級描述。
步驟3:確定約束條件,完成邏輯優(yōu)化。約束條件指的是接口設計指標——驅動能力、芯片面積等,以此為基礎,對步驟2 獲取的RTL 級描述進行映射處理,關聯(lián)邏輯設計與實現(xiàn)器件,執(zhí)行工藝操作實現(xiàn)邏輯設計的整體優(yōu)化。
步驟4:門級仿真。門級仿真應用了仿真庫、門單元延時信息、相應工藝等,對邏輯設計內容進行仿真驗證,依據(jù)工藝參數(shù)選取最佳的門單元,實現(xiàn)門級仿真的最佳化。
步驟5:布局布線。布局布線工具主要由FPGA 控制器提供,其是EDA 技術實現(xiàn)的關鍵器件之一。
步驟6:寫片與測試。將步驟5 獲取的布局布線文件傳輸至設計接口芯片上,完成寫片過程,并對設計好的串口通信總線接口進行性能測試,保障接口的可靠性與可行性[4]。
基于上述介紹的EDA 技術應用流程,搭建接口邏輯設計框架,具體如圖1 所示。
圖1 接口邏輯設計框架示意圖
上述過程完成了接口邏輯設計框架的搭建,為后續(xù)接口邏輯設計、實現(xiàn)器件的選取提供支撐。
以上述搭建的接口邏輯設計框架為依據(jù),選取適當?shù)膶崿F(xiàn)器件,其是EDA 技術應用的關鍵所在,也是接口邏輯設計的主要環(huán)節(jié)之一。實現(xiàn)器件是接口配置文件的載體,根據(jù)常用串口通信總線接口邏輯設計需求,選取FPGA 控制器作為實現(xiàn)器件。
FPGA 控制器具有可重復編程的優(yōu)勢,可以實現(xiàn)復雜的邏輯設計,符合接口邏輯設計的需求[5]。但是,在FPGA 控制器應用過程中,還需要對其進行針對性設計,使其更加符合研究目標實現(xiàn)要求[6]。依據(jù)接口設計需求,制定FPGA 控制器設計流程,具體如圖2 所示。
圖2 FPGA 控制器設計流程圖
綜上所述,完成了接口邏輯設計實現(xiàn)器件的選取與設計,為后續(xù)接口的具體設計提供幫助。
以上述選取的接口邏輯設計實現(xiàn)器件——FPGA控制器為工具,設計具體數(shù)字接口,其主要由RS 232 接收模塊、I2C 接收模塊與SPI 接收模塊構成[7]。其中,RS 232 接收模塊主要是對RS 232 數(shù)據(jù)模式進行接收。RS 232 數(shù)據(jù)幀格式如圖3 所示。
圖3 RS 232 數(shù)據(jù)幀格式示意圖
由于通信雙方(LSB 與MSB)具備獨立時鐘,使得RS 232 數(shù)據(jù)接收精度受到了一定的影響,需要對時鐘頻率、分頻系數(shù)進行確定,以此來保障RS 232 數(shù)據(jù)接收的準確性[8]。其中,時鐘頻率指的是RS 232 串行驅動時鐘運行的參數(shù),表達式為:
式中:fa表示RS 232 串行驅動時鐘頻率;fb表示標準波特率時鐘頻率;M表示fa與fb之間的倍數(shù);βo表示輔助運算參數(shù),取值范圍為[0,1 ]。
分頻系數(shù)是調整通信雙方時鐘頻率的關鍵參量,計算公式為:
式中:ξ表示分頻系數(shù);fc表示設計接口時鐘頻率數(shù)值。
依據(jù)公式(2)的計算結果對通信雙方時鐘頻率進行合理調整,使兩者保持一致,保障RS 232 數(shù)據(jù)接收的質量。
I2C 接收模塊主要對開始、應答與結束三種類型信號進行傳送與接收[9]。I2C 數(shù)據(jù)傳輸時序如圖4 所示。
圖4 I2C 數(shù)據(jù)傳輸時序示意圖
如圖4 所示,當SCL 邏輯為1 時,SDA 邏輯由1 變?yōu)?,起始信號變得有效,數(shù)據(jù)傳輸開啟;當SCL 邏輯為0時,SDA 邏輯由0 變?yōu)?,停止信號變得有效,數(shù)據(jù)傳輸結束。需要注意的是,數(shù)據(jù)發(fā)送過程中,應該在SCL 變成高應答位之前就準備好數(shù)據(jù)[10]。
SPI 接收模塊整體呈現(xiàn)為一個環(huán)形結構,內部包括兩個雙向移位寄存器,通過時鐘脈沖SCLK 對數(shù)據(jù)交換進行控制[11]。由于研究篇幅的限制,不對SPI 接收模塊結構進行過多的贅述與展示。
上述過程完成了接口的具體設計,為接口多種性能的穩(wěn)定發(fā)揮提供支撐[12]。
接口協(xié)議層設計的優(yōu)劣直接決定著設計接口的功能能否正常應用,其關鍵環(huán)節(jié)為數(shù)據(jù)接收前端處理,主要功能為CRC 校驗、NRZI 解碼與去除位填充,具體流程如下:
步驟1:設置接口輸入數(shù)據(jù)格式為data_in(13:0),采用CRC 校驗模塊對輸入數(shù)據(jù)進行整體校驗。若檢驗結果為錯誤,表明輸入數(shù)據(jù)錯誤,此時將finish 設置為低電平,提示信息error 設置為高電平,并將提示信息error反饋給發(fā)送端;反之,若檢驗結果為正確,表明輸入數(shù)據(jù)無錯誤,此時將finish 設置為高電平,提示信息error 設置為低電平,轉至步驟2。
步驟2:對CRC 校驗結果正確的輸入數(shù)據(jù)進行校驗碼(五位)去除處理,剩余數(shù)據(jù)記為rdata(8:0),將其傳輸給NRZI 解碼模塊。
步驟3:NRZI 解碼模塊對rdata(8:0)進行相應的解碼作業(yè),獲取輸入數(shù)據(jù),記為new[rdata(8:0)]。
步驟4:在去除位填充模塊中讀入new[rdata(8:0)],將去除的校驗碼(五位)補充回來,即可獲得數(shù)據(jù)接收前端處理最終結果data_out。
綜上所述,應用EDA 技術實現(xiàn)了常用串口通信總線接口的邏輯設計,改善了接口整體性能,為多種設備通信提供了有效的幫助[13]。
選取基于高速串行總線的分布式RS 485 串口通信接口設計[14]與基于FPGA 和DSP 的GNSS 總線通信接口設計[15]作為對比接口1 與接口2,設計常用串口通信總線接口性能對比測試,以此來驗證設計接口的整體性能。
為了保障實驗的順利進行,選取科學的、適當?shù)脑O計工具,并對其進行統(tǒng)一配置,提升實驗結論的精確性。依據(jù)常用串口通信總線接口性能測試需求,選取MAX+PLUSⅡ軟件作為設計工具,具備功能全面、操作便利等優(yōu)勢,是現(xiàn)今應用較為廣泛的大眾化EDA 平臺。MAX+PLUSⅡ軟件優(yōu)勢如下:
1)具備集成化界面,提供了設計輸入、處理、校驗等開發(fā)工具,并能夠對其進行動態(tài)調試,最大限度地縮短接口設計與開發(fā)的時間。
2)支持多種HDL 語言,例如AHDL、VHDL 等。
3)具備較強的數(shù)據(jù)互換性與開放性,能夠與其他工具進行直接鏈接,再加之參數(shù)化模塊庫的提供,可以從多個角度幫助用戶去進行邏輯設計,簡化接口邏輯設計過程。
4)具備模塊組合式設計工具,并能夠根據(jù)用戶需求對設計工具位置等進行調換,使設計環(huán)境更加用戶化,為用戶提供最佳的服務體驗。
在MAX+PLUSⅡ軟件應用環(huán)境下,可以直接對實現(xiàn)器件——FPGA 控制器進行串行配置,具體如圖5 所示。
圖5 FPGA 控制器串行配置示意圖
另外,根據(jù)設計接口的實際需求,選取適當?shù)膶崿F(xiàn)器件——FPGA 控制器,其相關參數(shù)為:
等效邏輯單元:2160;系統(tǒng)門:100 KB;分布式RAM:15 Kbits;最大I/O:108;最大差分對數(shù):40;CLBS:240;DCMS:2;Block RAM:72 Kbits。
上述過程完成了設計工具的選取與配置,為后續(xù)實驗的順利進行提供便利。
2.2.1 接口邏輯設計資源占用率測試結果分析
接口邏輯設計資源占用率可以側面反映接口的經濟成本情況。常規(guī)情況下,接口邏輯設計資源占用率越高,表明其設計經濟成本越高;反之,接口邏輯設計資源占用率越低,表明其設計經濟成本越低。接口邏輯設計資源占用率計算公式為:
式中:K表示接口邏輯設計資源占用率;Qs表示接口邏輯設計應用資源數(shù)量;Qtotal表示通信總線全部資源數(shù)量。
通過實驗獲得接口邏輯設計資源占用率如表1所示。
表1 接口邏輯設計資源占用率 %
如表1 數(shù)據(jù)所示,在不同實驗工況背景下:設計接口資源占用率數(shù)值范圍為19.58%~30.12%;對比接口1資源占用率數(shù)值范圍為36.59%~58.46%;對比接口2 資源占用率數(shù)值范圍為35.46%~62.15%。通過數(shù)據(jù)對比可知,設計接口資源占用率更低,表明其設計經濟成本更低。
2.2.2 接口傳輸速率測試結果分析
接口傳輸速率是體現(xiàn)接口性能的關鍵指標之一,其與接口性能之間呈現(xiàn)著明顯的正比例關系。通過實驗獲得接口傳輸速率數(shù)據(jù),具體如圖6 所示。
圖6 接口傳輸速率示意圖
由圖6 可知:設計接口在第5 種實驗工況背景下獲得傳輸速率最大值48 Mb/s;在第2 種與第6 種實驗工況背景下獲得傳輸速率最小值30 Mb/s。通過線段高低位置可知,在不同實驗工況背景下,設計接口傳輸速率均高于對比接口1 與接口2,表明設計接口傳輸性能更佳。
上述實驗數(shù)據(jù)顯示:相較于兩種對比接口來看,設計接口資源占用率更低、傳輸速率更高,并且達到了預期的設計目標,證實了設計接口的可行性。
伴隨著網絡技術的發(fā)展與普及,遠距離數(shù)據(jù)傳輸需求急劇暴增,串口通信總線應運而生。通過調查研究發(fā)現(xiàn),制約串口通信總線應用與發(fā)展的根本原因為接口性能,故本文提出基于EDA 技術的常用串口通信總線接口邏輯設計。設計接口大幅度地降低了資源占用率,提升了傳輸速率,能夠為串口通信總線應用提供更有力的支撐,也為接口設計相關研究提供一定的借鑒。