基于FPGA的單片機外圍接口電路設計
2.4.1 接收模塊
異步串行通信是逐個(gè)字符進(jìn)行傳輸的,并且傳送的每一個(gè)字符格式都相同,均以一位起始位開(kāi)始,中間有若干位數據位,然后是一位校驗位(可選),昀后是停止位,停止位后面是不定長(cháng)度的空閑位。這樣就保證了起始位開(kāi)始處一定有一個(gè)下跳沿。接收邏輯首先通過(guò)檢測數據的下降沿來(lái)檢測起始位,產(chǎn)生采樣時(shí)鐘,然后利用采樣時(shí)鐘來(lái)采樣串行輸入數據,在緩沖器中做移位操作,同時(shí)產(chǎn)生校驗位,在第 8位處比較校驗位是否正確,在第 9位處比較停止位是否為高,然后產(chǎn)生錯誤指示信號。本文采用狀態(tài)機進(jìn)行設計,其 FSM狀態(tài)轉換圖如圖 4所示。
2.4.2 發(fā)送模塊
發(fā)送部分檢測控制信號,當有數據要發(fā)送時(shí)只要按順序依次發(fā)送 1位起始位、 5-7位數據位、一位校驗位(帶校驗時(shí))和 1位(或 1.5位、2位)停止位即可。其 FSM狀態(tài)轉換圖如圖 5所示。
停止位發(fā)送完畢
無(wú)數據要發(fā)送發(fā)送停止位
3 結束語(yǔ)
將設計下載到芯片中,綜合報告顯示只消耗了FPGA很少的一部分資源。整個(gè)系統的功耗也大為降低。由于FPGA為大規模集成電路,其集成度和工作速度隨著(zhù)技術(shù)進(jìn)步和產(chǎn)品升級不斷提高,所以用FPGA實(shí)現單片機外圍接口電路可以大大改善單片機系統的性能,系統的外圍邏輯越是復雜,FPGA的潛力越能得到更好的發(fā)揮。
評論