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