FPGA在數(shù)字式心率計(jì)中的電路組成及工作原理
2.1 波形變換電路
由比較器獲得的方波心率脈沖還不能直接用于心率測(cè)量,因?yàn)槊}沖寬度太大。要進(jìn)行正確的心率測(cè)量,必須對(duì)這個(gè)方波脈沖進(jìn)行微分,將其寬度調(diào)整為一個(gè)時(shí)鐘周期寬。微分電路如圖3所示。用VHDL語(yǔ)言編程時(shí),可用一個(gè)時(shí)鐘進(jìn)程實(shí)現(xiàn)這個(gè)微分電路。圖3中各點(diǎn)波形如圖4所示。
2.2 心率計(jì)算電路
根據(jù)瞬時(shí)心率計(jì)算公式及圖1,瞬時(shí)心率的計(jì)算應(yīng)以1kHz的時(shí)鐘頻率作為時(shí)間基準(zhǔn),測(cè)量相鄰兩次心跳之間的時(shí)間,然后做除法運(yùn)算。因此,瞬時(shí)心率計(jì)算電路應(yīng)包括一個(gè)12位的二進(jìn)制計(jì)數(shù)器和一個(gè)16位的二進(jìn)制除法電路。平均心率的計(jì)算應(yīng)根據(jù)測(cè)量結(jié)束前最后測(cè)得的16次心率值求平均,因此心率計(jì)算電路還應(yīng)包括一個(gè)能完成12位二時(shí)制數(shù)加法的電路和一個(gè)能完成12位二進(jìn)制數(shù)除法的電路,這個(gè)除法運(yùn)算可通過(guò)移位寄存器右移四次來(lái)實(shí)現(xiàn)。計(jì)數(shù)器、加法器和移位寄存器在FPGA中用VHDL語(yǔ)言實(shí)現(xiàn)都很容易。下面主要討論測(cè)量的實(shí)現(xiàn)方法。
瞬時(shí)心率計(jì)算公式是一個(gè)拋物線函數(shù),分母中計(jì)數(shù)值N是一個(gè)變量,這個(gè)除法運(yùn)算不能通過(guò)簡(jiǎn)單的移位寄存器來(lái)實(shí)現(xiàn);而設(shè)計(jì)16位二進(jìn)制除法運(yùn)算電路,無(wú)論采用組合電路還是采用時(shí)序電路,都將耗費(fèi)很多的芯片資源。另一方面,人的正常心率為60~120跳/分鐘,即使心率出現(xiàn)異常,也不會(huì)超過(guò)20~200跳/分鐘,因此所測(cè)量的心率值只有有限個(gè)數(shù)據(jù)。這樣,可根據(jù)每一個(gè)可能出現(xiàn)的心率值,預(yù)先求出N的變化范圍,制作一張表,存入ROM中。實(shí)際測(cè)量時(shí),再根據(jù)測(cè)到的N值,選擇相應(yīng)的心率數(shù)據(jù)。假設(shè)心率的變化范圍為20~200,則N的變化范圍為3077~300。瞬時(shí)心率值IHR與計(jì)數(shù)值N的關(guān)系如表1所示。
計(jì)算電路除了完成上述功能外,還要將瞬時(shí)心率值和平均心率值轉(zhuǎn)換為七段顯示代碼,再送入LED顯示器進(jìn)行數(shù)字顯示。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論