色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSP芯片基于SCl6C750B的RS232接口設(shè)計

          DSP芯片基于SCl6C750B的RS232接口設(shè)計

          作者: 時間:2011-04-09 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/150873.htm


          圖2中的端口信號,如數(shù)據(jù)和地址總線、復(fù)位信號、中斷信號,完成與TMS320C32之間的連接。本中片選信號對應(yīng)TMS320C32的IOSTRB空間中的0x810100h,即的內(nèi)部寄存器的基地址。


          2 TMS320C32的串口軟件功能
          串口工作模式控制和數(shù)據(jù)收發(fā)都是通過TMS320C32對UART內(nèi)部相關(guān)寄存器的讀寫操作來完成的。因此,首先分析一下片內(nèi)寄存器的功能,然后確定在本的工作模式,并且給出該串口的初始化程序、中斷發(fā)送程序和中斷接收程序。程序以C語言寫成。

          2.1 SCl6C750B片內(nèi)寄存器

          表2給出SCl6C7 150B內(nèi)部寄存器的功能描述。寄存器各位意義可參見該的數(shù)據(jù)手冊。


          2.2程序設(shè)計
          首先初始化編程,以確定TMS320C32與SCl6c750B之間的操作方式、數(shù)據(jù)傳輸幀格式、SCl6C750B自身的工作模式、數(shù)據(jù)傳輸波特率的設(shè)置等工作。設(shè)定:

          ①SCl6C7 150B工作在DMA模式0(DMA mode O)。在此模式下,每當發(fā)送寄存器THR為空,TXRDY信號會降為邏輯低電平。只要接收寄存器RHR被裝載了一個字符,RXRDY會立刻降為邏輯低電平。

          ②TMS320C32與SCl6C750B UART之間的操作方式采用中斷操作方式,中斷方式相對于查詢方式可以提高TMS3320C32的工作效率。TMS320C32的INT0中斷引腳接UART的RXRDY信號,INT1接TXRDY信號。這樣,由INT0、INT1對應(yīng)的中斷服務(wù)例程完成數(shù)據(jù)的接收和發(fā)送。

          ③數(shù)據(jù)傳輸幀格式:數(shù)據(jù)字長8位、2位停止位、偶校驗。

          ④設(shè)置波特率。


          電平邏輯中,串行數(shù)據(jù)速率(serial data rate)就等于波特率(baud rate)。如果外部時鐘頻率(XTAL1clock frequency)為1.8432 MHz、波特率19 200 bps時,對應(yīng)的波特率除數(shù)(divisor)為6。

          用C語言開發(fā)[8]TMS320C32的串口通信程序。初始化程序如下:
          #includestdlib.h>
          #includeioports.h>
          //聲明SCl6C750B寄存器的結(jié)構(gòu)
          typedef struet{
          unsigned RHR,//接收保持寄存器
          unsigned THR#//發(fā)送保持寄存器
          unsigned IER;//中斷使能寄存器
          unsigned FCR;//FIFO控制寄存器
          unsigned ISR; //中斷服務(wù)狀態(tài)寄存器
          unsigned LCR;//線路控制寄存器
          unsigned MCR;//Modem控制寄存器
          unsigned LSR; //線路狀態(tài)寄存器
          unsigned MSR;//Modem狀態(tài)寄存器
          unsigned SPR; //便箋寄存器
          unsigned DLL; //波特率除數(shù)低字節(jié)鎖存器
          unsigned DLM;//波特率除數(shù)高字節(jié)鎖存器
          }SerialPort;
          //SCl6C750B的寄存器基地址為0x810100h
          SerialPort SD={
          0x810100h,0x810100h,0x810101h,
          0x810102h,0x810102h,0x810103h,
          0x810104h.0x810105h, Ox810106h
          0x810107h 0x810100h,0x810101h
          );
          void main(void){
          ;
          //波特率設(shè)置
          outport(sp.LCR,0x80); //LCR[7]=0
          outport(sp.DLL,0x06); //波特率19 200 bps
          outport(sp.DLM,0x00);
          outport(sp.LCR,0xlF); //數(shù)據(jù)幀格式
          outport(sD.FCR,0xAl)} //DMA mode 0
          outport(sp.IER,0x07); //中斷使能
          ;

          }

          //INTO中斷服務(wù)例程——數(shù)據(jù)接收

          unsigned char recvdata;

          void c_int-1(void){

          recvdata=inport(sp.RHR);

          }

          //INT中斷服務(wù)例程——數(shù)據(jù)發(fā)送

          void c_int02(void){

          outport(sp.THR,transdata);

          ;

          }


          3 結(jié) 論

          TMS320C32是一種高性價比的32位浮點新片,但其通信功能相對較弱。采用SC16C750B UART擴展TMS320C32的串行口,用于實際溫度和壓力測控裝置中,經(jīng)驗證,數(shù)據(jù)通信可靠。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉