新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM和FPGA的智能小車監控系統

        基于ARM和FPGA的智能小車監控系統

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


        2.2 網絡傳輸模塊電路設計
        網絡傳輸模塊選用DAVICOM公司推出的一款高速以太網接口芯片DM9000A,內部集成10/100M物理層接口,16 KB SRAM用作接收發送的F-IFO緩存,支持8/16 b內存數據存取接口。
        S3C2440A內部沒有專用以太網控制器,需要外部總線外掛一個以太網控制器,才能實現S3C2440A連接以太網的需要,該系統選用DM9000A作為以太網的物理層接口。DM9000A與S3C2440A的連接比較簡單,如圖4所示。S3C2440A數據總線DATA0~DATA15與芯片的SD0~SD15連接;地址線ADDR2與芯片的CMD連接;片選線nGCS3與芯片nCS的相連;9號外中斷與芯片的INT相連。DM9000A以太網控制器的工作基址為0x300,而S3C2440A的地址線ADDR2與芯片的命令/數據使能端CMD相連,所以對其進行操作時的地址是0x300(地址端口)或0x304(數據端口)。
        2.3 運動控制電路設計
        速度采集模塊由紅外傳感器和脈沖整形電路組成,經整形后的脈沖送往ARM中斷進行脈沖捕獲。運動控制模塊選用型號為RS-380SH的直流電機控制車模的前進或后退,選用型號為FUTABA-S3010的舵機控制車模的轉向,電機驅動芯片選用L298N實現對電機調速、正反轉的控制。


        該系統運動控制包括電機控制和舵機控制兩部分。電機控制如圖5所示,PWM1,PWM2用于控制電機的轉速,IN11,IN12,IN21,IN22用于控制電機正反轉。舵機控制電路簡單,外接有3根線,紅色為電源線,黑色為地線,另外一個為PWM信號輸入線。兩者的主要控制信號是PWM信號,S3C2440A發送命令控制FPGA輸出占空比可調的PWM信號。舵機PWM信號的周期固定為20 ms,脈寬分布在1~2 ms之間,因此選定PWM信號頻率為50 Hz,占空比固定在5%~10%之間。直流電機PWM信號頻率選定10 kHz,占空比可在0%~100%波動,當IN11=1,IN12=0,電機正轉且轉速隨PWM1信號的占空比不同而變化,當IN11=0,IN12=1,電機反轉且轉速也隨著PWM1信號占空比變化。

        3 系統軟件設計
        3.1 圖像采集驅動開發

        該系統圖像采集模塊硬件電路由CMOS圖像傳感器芯片和S3C2440A的CAMIF單元組成。為此在編寫圖像采集驅動程序時,就需要對圖像傳感器芯片的寄存器和S3C2440A的CAMIF單元的寄存器同時配置,否則就得不到正常圖像。S3C2440A以I2C總線的方式對CMOS圖像傳感器芯片的寄存器進行配置。
        在WinCE下,圖像采集驅動是基于流接口設計的。首先在CIS_Init函數下對相機接口的寄存器進行配置,主要配置功能包括:設置相機接口輸出時鐘;設置圖像輸入輸出格式;設置裁剪圖像偏移量;設置幀緩沖區中圖像像素大小;設置編碼通道和預覽通道幀緩沖區起始地址。然后S3C2440A以I2C總線方式對OV9650的寄存器進行配置,需要注意的是相機接口的配置功能要和OV9650的配置功能完全一致,否則采集不到圖像,兩者之間通信協議如圖6所示。最后利用API函數CreateThread()創建中斷服務線程。


        中斷服務線程函數負責具體的中斷操作,在該線程函數內利用CreateEent()函數創建CAMIF單元的中斷事件。然后調用InterruptInitia-lize()函數將該中斷事件與CAMIF單元的邏輯中斷相關聯。最后調用Wait For SingleObject()等待中斷事件的到來,當中斷到來時,將讀取事件置位,在應用程序中即可利用ReadFile()函數讀取YCbCr數據,為圖像壓縮提供數據源。



        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 屏山县| 龙口市| 旬阳县| 罗山县| 黄山市| 赞皇县| 宁海县| 托克逊县| 惠东县| 定安县| 关岭| 贺兰县| 佛学| 襄垣县| 辽阳县| 汪清县| 海盐县| 勃利县| 蒙阴县| 桦川县| 兴隆县| 车致| 元朗区| 剑河县| 汝南县| 富裕县| 渭南市| 舒城县| 新巴尔虎左旗| 资阳市| 高尔夫| 花垣县| 渭南市| 北票市| 孟州市| 康定县| 扎囊县| 泰州市| 龙门县| 兰考县| 会同县|