本站小編為你精心準備了雙口RAM接口設計論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1系統總體設計
便攜式手持設備串行通信系統由3個部分組成:異步接收單元、異步發送單元和雙口ram單元。接收數據時,外部串行數據經過電平轉換后被異步接收單元接收并轉換成并行數據,通過接收單元進入雙口RAM并進行緩存,最后送入DSP處理;數據發送時,數據從雙口RAM取出數據后,在異步發送單元的作用下將數據轉化為串行數據,再經過電平轉換后發出。本文將用FPGA設計以上3個模塊,通過接口設計,可將FPGA與DSP連接。系統結構框圖如圖1所示。
2單元設計
2.1異步接收單元的設計異步接收單元實現數據的有序接收,控制UART接口和雙口RAM以及向DSP提出數據接收中斷。異步接收單元由8倍倍頻器、8bit寄存器、串并轉換器、并口輸入構成。8倍倍頻器用來產生8倍串口傳輸時鐘脈沖;8bit寄存器用來存儲采樣后的串行數據;串并轉換器用來控制串行數據向并行數據轉換的時序和組合邏輯,是異步接收單元的核心組成部件;并口輸入用來向DSP傳輸并行數據。異步接收單元各模塊信號連接如圖2所示。異步接收單元的工作流程如下:根據DSP控制指令查看串口的傳輸速率并選擇速率后,經倍頻器產生一個8倍傳輸速率的接收串行數據采樣時鐘脈沖,由采樣脈沖采樣串行數據后存至寄存器中。查看寄存器中的數據,若一直為高電平則表明串口無數據輸入;若8bit數據中由4個“1”和4個“0”組成,則表明接收到開始位,等采樣下一個8bit數據時開始保存串行數據。通過時序控制邏輯將接收到的有效串行數據轉換為并行數據后存入雙口RAM中;向DSP輸出中斷請求;待收到DSP的中斷響應后,讀出雙口RAM數據;將數據輸入DSP中,中斷請求信號和復位信號置0,數據接收完成。在本系統中,一組串行數據由1bit開始位、8bit數據位、1bit校驗位和1bit結束位組成。開始位為“0”;結束位為“1”。在這里值得注意的是,接收串行數據時,我們需要判斷接收的串行數據是否有效,由于數據傳輸在異步工作方式,可以通過判斷它的開始位來記錄串行數據。將傳輸時鐘脈沖8倍頻后,作為接收采樣時鐘脈沖,進行連續采樣,待采樣到一組數據由4個“1”和4個“0”組成時,則表明接收到串行數據的開始位,從此以后的數據便為有效串行數據,將每次采樣8bit數據的最后一位存入雙口RAM中。在這里我們記錄寄存器的最后一位值,作為它每次采樣的有效值,這樣做的目的是為了保證它每次采樣到的數據為每位串行數據的中間值,從而防止采樣到數據邊沿值而帶來的錯誤信息。
2.2異步發送單元的設計相對于異步接收單元來說,異步發送單元的設計比較簡單。異步發送單元連接DSP和雙口RAM,來自DSP的并行數據在其控制作用下,有序地以串行方式發送到主控設備。異步發送單元由波特率產生器、波特率選擇器、并串轉換器、串口輸出器組成。波特率產生器用來產生串口傳輸的時鐘脈沖;波特率選擇器用來選擇系統所需的串口傳輸速率;并串轉換器用來控制并行數據向串行數據轉換的時序和組合邏輯,是異步發送單元的核心;串口輸出器用來發送串行數據。異步發送單元各模塊信號連接如圖3所示。異步發送單元的工作流程如下:由波特率產生器輸出9.6Kbps、19.2Kbps、57.6Kbps時鐘脈沖。根據DSP控制指令查看串口的傳輸速率并選擇速率。當并串轉換器從雙口RAM接收到“數據使能”(dataen)和“數據發送”(datasend)信號時,表示DSP有串行數據輸出;立即使能并串轉換器,計數并讀出要傳輸的串行數據,待計數器溢出時,將數據保存至緩存中,最后使能串口輸出器按位輸出,待串行數據傳輸完成后復位標志位“shfen”,下一組串行數據將從開始位計數。校驗位是將傳輸的串行數據按位“異或”操作后輸出的。其主要VHDL編程案例如下所示。
2.3雙口RAM的設計雙口RAM(A端口和B端口)在串行通信中起到了數據緩存和信息交互的作用,本設計中雙口RAM通過XilinxIP核產生,緩沖深度設計為256,即地址總線位數為8,數據從A口寫入,從B口讀出。將雙口RAM劃分為兩個空間,一個為數據接收空間,一個為數據發送空間。接收數據時,存入接收空間的數據達到一個字節,接收單元向DSP發出中斷請求,中斷響應后數據從B口讀入DSP;發送數據時,DSP向發送空間的A口中寫數據,并向并串轉換單元發出數據發送信號,數據從發送空間的B口讀入并串轉換單元,再經過UART口串行發送到主控設備。
3總結
本文通過使用一塊FPGA芯片,經過VHDL語言編程設計異步接收單元、異步發送單元和雙口RAM模塊,并將以上模塊有序組合,實現了便攜式手持設備與主控設備的串口通信。該設計在實現預期功能的同時,避免了采用常用UART專用芯片帶來的電路復雜、體積大、功耗高等缺點,簡化了硬件電路,使便攜式手持設備具有體積小、功耗低的優點。此外,利用FPGA的可任意編程的特點,可以通過編程而不改變外部電路就可實現不同功能,增加系統的靈活性。
作者:陳琦顧磊單位:中國電子科技集團公司第二十研究所總參信息化部駐西安地區軍事代表室