新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用FPGA/MCU技術(shù)的光電式滾轉(zhuǎn)角測(cè)量?jī)x的解決方案

采用FPGA/MCU技術(shù)的光電式滾轉(zhuǎn)角測(cè)量?jī)x的解決方案

作者: 時(shí)間:2010-12-10 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/151256.htm

  系統(tǒng)軟件設(shè)計(jì)

  基于式滾軟件流程如圖11所示。光敏接收模塊g1-g37接收到紅外光信號(hào),經(jīng)過(guò)轉(zhuǎn)換及信號(hào)調(diào)理之后將高電平送至FPGA上各相關(guān)引腳,F(xiàn)PGA以固定頻率對(duì)A1-A37各引腳進(jìn)行掃描,掃描頻率通過(guò)對(duì)有源晶振的輸入頻率進(jìn)行分頻得到,如果掃描到僅有一個(gè)引腳是高電平,則說(shuō)明只有該引腳對(duì)應(yīng)的光敏接收模塊收到光信號(hào),滾轉(zhuǎn)體此時(shí)剛好旋轉(zhuǎn)到某已知角度,通過(guò)FPGA控制LED顯示模塊輸出該角度,并通過(guò)串口將滾度值傳送給上位機(jī)。但如果有兩路引腳都為高電平,那么FPGA首先判斷該由哪片MCU對(duì)這些信號(hào)進(jìn)行處理,隨后通知該MCU進(jìn)行AD轉(zhuǎn)換并確定滾度,比如A5、A6均為高電平,則FPGA以串口通訊方式通知MCU A對(duì)A5、A6進(jìn)行AD轉(zhuǎn)換,轉(zhuǎn)換結(jié)果A5的信號(hào)幅值為2.50V,A6的信號(hào)幅值為3V,已知A5對(duì)應(yīng)的滾轉(zhuǎn)角為40度,A6對(duì)應(yīng)的滾轉(zhuǎn)角為50度,則此時(shí)的滾轉(zhuǎn)角度為40+[2.5/(2.5+3.0)](50-40)=44.55度,MCU再通過(guò)串口把信息反饋給FPGA。還有可能出現(xiàn)3路或者3路以上的引腳為高電平的情況,此時(shí)應(yīng)調(diào)節(jié)光敏接收模塊的初級(jí)運(yùn)放信號(hào)放大倍數(shù),盡量減少M(fèi)CU處理的模擬信號(hào)數(shù)量,然后通過(guò)比較將幅值較小的信號(hào)忽略,僅保留最大的兩路信號(hào),隨后處理方式同上。


  FPGAVHDL語(yǔ)言進(jìn)行編程,其串口程序包括串口發(fā)送、串口接收與時(shí)鐘分頻三個(gè)模塊,分別與上位機(jī)及兩片MCU進(jìn)行通信,通信波特率為標(biāo)準(zhǔn)的9600b/s,數(shù)據(jù)位為8位,不帶校驗(yàn)位。MCU匯編語(yǔ)言編程,C8051F310可通過(guò)修改相關(guān)寄存器值非常靈活的對(duì)片內(nèi)ADC模塊、串口模塊進(jìn)行操作,ADC單端輸入方式,以MCU供電電壓為參考電壓,通過(guò)向AD0BUSY位寫1啟動(dòng)AD轉(zhuǎn)換。

  結(jié)語(yǔ)

  本文設(shè)計(jì)的基于式滾轉(zhuǎn)角實(shí)際運(yùn)行情況良好,在實(shí)驗(yàn)室環(huán)境中能較為準(zhǔn)確的測(cè)量出彈體滾轉(zhuǎn)角度,達(dá)到預(yù)定要求,此外還可通過(guò)增加光敏接收模塊或采用紅外激光器來(lái)進(jìn)一步提高測(cè)量精度。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉