• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 無線圖像(視頻)傳輸系統ARM9+Atmega16+OV7620+nrf24l01(二)

    無線圖像(視頻)傳輸系統ARM9+Atmega16+OV7620+nrf24l01(二)

    作者: 時間:2012-09-10 來源:網絡 收藏

    下面就介紹下的寄存器配置問題。這里我采用了增強型ShockBurst模式,具有自動前導碼生成、CRC校驗,并配置為自動應答ACK,這樣的好處是可以減輕MCU的負擔,減少開發難度。目前還沒有實現組網,所以只用了其中的一個通道0,為了更簡單的傳輸,把發送端和接收端的地址都設為同一個。需要注意的就是在啟動發送和接收時的延時問題,以及發送完和接收完緩存的清除。在其Datasheet上標注的很清楚,在進入發射模式,CE置高的持續時間至少是10us,而在進入接收模式,CE置高后160us后才會檢測空中信號。所以,在編程時要多加注意。我覺得主要的還是發送和接收緩存的清除問題,因為我開始時在發送語句的下一句就寫了清除發送緩存的語句,結果。。。一看便知,接收一個數據包后戛然而止。這里的延時也影響整個數據發送的時長,我在程序中的延時是0.2ms,所以在發送所有數據時的總延時一算便知,(320*240/32)*0.2ms=480ms,而在ARM端的驅動中使用時鐘滴答數jiffies記錄了兩個中斷(接收100個數據包,也就是中端了100次,為了方便顯示,100次打印一次)到來時的時刻,差值為50ms左右,這樣可以算出一幀傳輸的時間為24*50ms=1.2s,如果再減去采集端發送延時等待的時間便可算出一幀數據實際的空中傳輸時間為720ms,所以在最理想的情況下可以達到1幀/s的傳輸速率——這個速率對于我這個項目來說還算可以(后面希望優化得到2幀/s)。看看的數據手冊,它支持兩種傳輸速率1M和2M,按照理論一幀圖像320*240=76800,傳輸的時間應為76.8ms,差距還是蠻大的(一個數量級啊)。

    本文引用地址:http://www.czjhyjcfj.com/article/148441.htm

    在采集板上還有一個比較重要的部分,那就是DRAM FIFO模塊——攝像頭采集速率太快,而且數據量又太大,要是直接傳給弱不禁風的單片機,不知道最后能得到幾個數據——有待驗證,呵呵。所以需要有一個高速緩存(沖)器來解決這個問題,本次采用的是AL422B(別人好像也都是這么用的,Why),3Mbit容量——對本次應用來說足矣。AL422B操作很簡單,要特別注意的也就是讀寫的時序、讀寫reset、讀寫使能位的控制。寫端/WE由的HREF和MCU的一個引腳PD4通過與非門控制,而讀端直接接地,隨時可以讀取,而其寫時序是由的PCLK引腳提供時鐘,這樣就可以保證每個像素值都可以按照順序寫入。當的VSYNC引腳拉高時表明已經開始采集一幀圖像,MCU判斷到此值后拉高PD4,之后HREF也會被拉高,這樣AL422B的寫使能已經有效,在PCLK的時鐘下源源不斷的寫入數據。下面貼出本段相關的代碼:

    /**************************************/

    while( !( PIND (1

    PORTD |=(1

    enable_int0(); //檢測到下降沿表明,一幀圖像采集完畢,采用中斷方式停止數據寫入

    delay_ms(20);

    /*****************irq ISP****************/

    #pragma interrupt_handler int0_isr:iv_INT0

    void int0_isr(void)

    {

    PORTD =~(1

    disable_int0();

    }

    最后還要注意一點,AL422B的讀寫時鐘支持的頻率范圍在1MHz-500MHz(20-2000ns),所以非常好的兼容

    PCLK的時鐘(將在OV7620章節詳述)。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 芜湖县| 深圳市| 兴仁县| 丹巴县| 新源县| 望谟县| 泰安市| 福清市| 信宜市| 怀柔区| 宜昌市| 格尔木市| 斗六市| 苏尼特右旗| 桃源县| 岗巴县| 湖北省| 长顺县| 桂平市| 丰镇市| 高密市| 吴忠市| 固阳县| 南宁市| 宁南县| 阿拉善右旗| 鄂托克前旗| 搜索| 莒南县| 乌兰察布市| 当涂县| 彩票| 当涂县| 襄城县| 卢龙县| 镇康县| 仙居县| 柘荣县| 青河县| 收藏| 阿克陶县|