VK3214在DSP串口擴展中的應用
初始化
本文引用地址:http://www.104case.com/article/116962.htmDSP首先通過發送一個低電平信號實現VK3214的復位,然后根據復位后VK3214主接口全局主串口控制寄存器的默認值對VK3214的主串口進行配置,由于晶振的頻率為14.7456MHZ,因此VK3214的主接口的默認波特率為38400。然后通過主串口對子串口進行配置,一般需要配置的寄存器有子串口控制寄存器、子串口配置寄存器、子串口FIFO控制寄存器、子串口子串口中斷使能寄存器。本文對這幾個子串口寄存器的配置如下:控制寄存器的配置為采用標準串口模式,RS232收發模式,9600的波特率;配置寄存器的配置為不使用子串口強制校驗,1 位停止位,無校驗位(8 位數據)。FIFO控制寄存器的配置為:使能接收FIFO,接收到的數據寫入接收FIFO, 當接收FIFO的數據增加到1字節時,提示主機接口從接收FIFO中讀取數據,使能發送FIFO,待發送的數據寫入發送FIFO,通過FIFO發送。子串口中斷使能寄存器的配置為使能接收FIFO觸點中斷,禁止發送FIFO觸點中斷,禁止FIFO 數據錯誤產生中斷。
上行通信
上行通信指傳感器數據通過VK3214發送給DSP,軟件流程如圖2所示,幾個傳感器采用搶占方式,任何一個傳感器產生數據后立即通過子串口發送給VK3214,VK3214子串口將接收數據放入FIFO數據寄存器中,同時產生中斷,通知DSP讀取數據。DSP接到中斷信號后對VK3214的中斷狀態寄存器進行讀取,以確定是哪個子串口有數據,然后通過讀取這一子串口的FIFO狀態寄存器,以確定子串口FIFO數據寄存器中的字節個數,最后從這一子串口的FIFO數據寄存器中讀取相應數量的字節數據,從而完成上行通信的整個過程。
下行通信
下行通信指DSP數據通過VK3214發送給各個傳感器,軟件流程如圖3所示。當DSP產生數據時,通過主串口發送給VK3214,并指明子串口的編號,VK3214接收到數據后存放在相應子串口的發送FIFO中,通過發送FIFO發給傳感器,從而完成下行通信的整個過程。
結束語
為完善飛行控制器與多個數字傳感器的通信功能,本文通過VK3214這款芯片實現了串口擴展,文中給出了硬件連接圖,并對芯片初始化、上行通信和下行通信的流程進行了描述。由于該芯片不需要地址信號和控制信號線,因此它的電路結構比較簡單,適合于工程應用。
電路圖符號相關文章:電路圖符號大全
評論