乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      TMS320C3x DSP和PC機的異步串行通信設計

       東山寶哥 2011-03-01
      TMS320C3x DSP是目前國內應用比較廣泛的DSP芯片之一,它提供了可與外部串行設備通信的串行接口,支持8/16/24/32位數據交換,為設計A/D、D/A接口電路提供了很大的靈活性。然而,當DSP系統(tǒng)和PC機進行通信時,如何設計合理的接口電路和通信軟件,將DSP處理后的數據實時準確地傳輸給PC機,同時使PC機實時有效地控制DSP,成為DSP系統(tǒng)設計中的重要一環(huán)。本文采用異步串行通信(Universal Asychronous Receiverand Transmitter,UART),較好地解決了DSP和PC機通信這一問題。

        2 TMS320C3x簡介

        TMS320C3x(以下簡稱C3x)是TI(TexasInstruments)公司生產的第三代產品,也是第一代浮點DSP芯片,包括C30、C31、C32和C33四種,是TMS320系列中性能價格比較高的一種浮點DSP芯片,具有32位的浮點精度,總共有三套總線,即程序總線、數據總線和DMA總線,取指、讀寫數據以及DMA操作可并行進行,可以尋址16M字的空間。其中C31是C30的簡化和改進型,它去掉了擴展總線和一個串口,降低了芯片的成本,并且在硬件上增加了一個非常有用的功能,即程序引導功能(Bootloader),使其程序可以從低速EPROM、PROM或串行口裝入到系統(tǒng)的高速RAM中全速運行 。C32和C33是C31的進一步簡化和改進,其中C32片內RAM減為512字,以降低成本。C33片內RAM為34K ,需3.3V電源。

        3 DSP系統(tǒng)結構框圖

        圖1為整個DSP系統(tǒng)的硬件框圖。

      整個DSP系統(tǒng)的硬件框圖

       其中,TLC32044是TI公司生產的話帶模數接口芯片(簡稱AIC)TLC32040系列中的一種,它集A/D、D/A于一體,具有兩個模擬輸入口和一個模擬輸出口,最高采樣頻率為19.2kHz。MC6850為Motorola公司生產的異步串行接口芯片(UART),它可以進行8位或9位數據的發(fā)送和接收,并可選擇÷1、÷16、÷64三種不同的時鐘模式。DSP通過對MC6850的控制寄存器初始化來設置異步通信協(xié)議,然后MC6850對DSP的并行數據和PC機的串行數據按照協(xié)議進行并串轉換。MAX232芯片進行TTL電平和RS-232電平之間的轉換。外部信號經A/D轉換進入DSP,DSP對其進行處理后,經UART送入PC機,由PC機對數據進行處理和存儲。同時,PC機將控制信號或待發(fā)數據經UART送入DSP,對DSP實施控制或經DSP處理后送入D/A,經低通濾波后還原為模擬信號。

        4 DSP系統(tǒng)通信軟件

        傳輸時,發(fā)送雙方應按照共同遵循的協(xié)議進行初始化。通信協(xié)議采用起止式異步通信協(xié)議,下面分別是DSP對MC6850和上層PC機軟件對串行口初始化操作的源程序代碼。

        4.1 MC6850異步串口通信程序設計

        加電之后,6850處于閉鎖狀態(tài),以避免輸出錯誤的發(fā)送。使用前,必須通過程序將控制寄存器的CR0和CR1置“1”,以進行主復位,使其從閉鎖狀態(tài)釋放。然后就可以對控制寄存器編程,以確定6850的時鐘分頻、數據格式和發(fā)送與接收控制功能等。以下是在Code Composer集成開發(fā)環(huán)境下,用C語言實現對6850的初始化設置和發(fā)送數據程序。

      程序

        4.2 PC機通信程序設計

        在VC++6.0環(huán)境下,利用PC機進行串口通信的常用方法有兩種:(1)調用Windows API(Application Program InteRFace)函數;(2)使用ActiveX的MSComm控件。第一種方法需聲明及調用許多API函數,十分煩瑣。故本文采用第二種方法。

        PC機通信的具體實現過程如下:

        第一步,啟動VC++6.0,新建一個基于對話框的應用程序TxRx。

        第二步,在對話框中插入串口控件,增加新的靜態(tài)文本、編輯框和按鈕控件,并為它們添加相應的變量。其屬性如下:

      程序

        第三步,在TxRxDlg.cpp文件中添加有關程序代碼。

        首先,在文件頭第一條注釋行中加入全局變量說明。

      程序

        其次,需要初始化串口參數,在OnInitiDialog()函數中TODO語句后加入以下代碼:

      程序

      //先預讀緩沖區(qū)以清除殘留數據

        接著,為發(fā)送按鈕IDC-TRSMITT添加消息處理函數OnTransmitt(),內容如下:

      程序

        下面舉例說明如何在Transmitt()函數中實現發(fā)送一幀數據。

      程序

      程序

      UpdateData(FALSE);//更新對話框

        5 結束語

        以上是DSP與PC機之間異步串行通信的軟硬件解決方案,目前此方案已應用于短波通信智能終端數據傳輸系統(tǒng)中,運行穩(wěn)定,通信性能良好,較好地解決了DSP和PC機的通信問題.

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多