新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用FPGA/MCU技術的光電式滾轉角測量儀的解決方案

        采用FPGA/MCU技術的光電式滾轉角測量儀的解決方案

        作者: 時間:2010-12-10 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/151256.htm

          系統軟件設計

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


          FPGAVHDL語言進行編程,其串口程序包括串口發送、串口接收與時鐘分頻三個模塊,分別與上位機及兩片MCU進行通信,通信波特率為標準的9600b/s,數據位為8位,不帶校驗位。MCU匯編語言編程,C8051F310可通過修改相關寄存器值非常靈活的對片內ADC模塊、串口模塊進行操作,ADC單端輸入方式,以MCU供電電壓為參考電壓,通過向AD0BUSY位寫1啟動AD轉換。

          結語

          本文設計的基于式滾轉角實際運行情況良好,在實驗室環境中能較為準確的測量出彈體滾轉角度,達到預定要求,此外還可通過增加光敏接收模塊或采用紅外激光器來進一步提高測量精度。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 秦皇岛市| 苏尼特左旗| 屏边| 兴海县| 漾濞| 离岛区| 黎川县| 永仁县| 福州市| 灵台县| 双鸭山市| 宜宾县| 维西| 南安市| 乌兰县| 东辽县| 徐州市| 长汀县| 江油市| 九龙城区| 苗栗县| 宾阳县| 五河县| 绥滨县| 凤山市| 明溪县| 密山市| 密云县| 嘉义县| 普宁市| 耒阳市| 房山区| 吴川市| 营口市| 罗甸县| 固镇县| 望谟县| 大安市| 临泉县| 高唐县| 南雄市|