基于FPGA的生命探測儀算法研究與系統(tǒng)設(shè)計(jì)
3.2 異步FIFO設(shè)計(jì)
FIFO是一種先入先出的內(nèi)存數(shù)組,其控制邏輯將執(zhí)行所有必要的讀寫指針管理,并產(chǎn)生狀態(tài)標(biāo)志信號和可選擇的與用戶邏輯電路接口連接的握手信號。由于數(shù)據(jù)采樣數(shù)率遠(yuǎn)遠(yuǎn)小于串口數(shù)據(jù)傳輸速率,濾波器輸出與串行通信接口之間要進(jìn)行數(shù)據(jù)緩存,這里使用異步FIFO模塊實(shí)現(xiàn)不同時(shí)鐘模塊間的數(shù)據(jù)傳送。圖5所示是異步FIFO時(shí)序仿真波形。本文引用地址:http://m.butianyuan.cn/article/190438.htm
。其中m為所用寄存器位數(shù),Baud為波特率,clk為時(shí)鐘頻率。系統(tǒng)全局時(shí)鐘為40 MHz,傳輸波特率為19.2 Kb/s??捎纱耸剿愠龇诸l因子X=31.5,四舍五入后得X=32,實(shí)際產(chǎn)生的波特率為Baudclk=19 193,跟理想的19 200波特率誤差為0.04%。
3.3.2 串口發(fā)送模塊
串口發(fā)送模塊主要實(shí)現(xiàn)將FIFO輸出的8位并行數(shù)據(jù)封8進(jìn)行串行發(fā)送的功能。發(fā)送時(shí)對于異步傳輸協(xié)議,不需要同接收端進(jìn)行時(shí)間同步。幀的傳送靠起始位來同步,起始位低電平,用下降沿沿通知對方接收方傳輸?shù)拈_始,緊跟著是8位數(shù)據(jù)位,傳輸時(shí)低位元在前,高位在后。數(shù)據(jù)位后面是停止位,高電平有效。串口發(fā)送模塊仿真結(jié)果如圖7所示。
3.3.3 串口接收模塊
串口接收模塊主要實(shí)現(xiàn)將上位機(jī)發(fā)送的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)的功能。接收模塊實(shí)際上是發(fā)送模塊的逆過程,當(dāng)檢測到低電平時(shí),表示有資料到來。為了確定新數(shù)據(jù)的到來,即檢測開始位,我們使用8倍于波特率的采樣時(shí)鐘對接收到的信號進(jìn)行采樣,以防止因?yàn)槊痰仍斐慑e(cuò)誤判斷。當(dāng)8位數(shù)據(jù)接收完成后,ready輸出高電平,數(shù)據(jù)輸出有效。串口接收模塊仿真結(jié)果如圖8所示。
4 結(jié)語
本文從理淪上研究了雷達(dá)式生命探測儀的算法,推導(dǎo)出了人體呼吸和運(yùn)動(dòng)所產(chǎn)生的多普勒頻移范圍,設(shè)計(jì)了生命探測儀信號處理板硬件系統(tǒng),并詳細(xì)介紹了利用FPGA實(shí)現(xiàn)濾波、異步存取以及數(shù)據(jù)收發(fā)和控制。利用FPGA與ARM9的結(jié)合,實(shí)現(xiàn)了生命探測儀的小型化與便攜化。實(shí)驗(yàn)證明,本項(xiàng)目開發(fā)的生命探測儀達(dá)到了隔墻心跳探測大于4 m,人體移動(dòng)大于10 m,實(shí)現(xiàn)了較高的戰(zhàn)術(shù)指標(biāo)。
評論