91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » IC/元器件

DSP芯片

發布時間:2011/4/20 9:43:07 訪問次數:4139

采用1片SC16C750B UART芯片[6]來完成TMS320C32的RS232串口的設計。此UART最高的串行數據速率可達3 Mbps,引腳與TLl6C750兼容,并且具有64字節接收和發送FIFOs以及自動硬件流量功能。這些特征使串口通信更加高效、可靠。

1 TMS320C32的RS232串口硬件設計

        在基于微處理器開發的自動控制裝置設計中,一般并不需要串行通信的長距離傳輸,故普遍采用“零-Modem”方式(Null-Modem or Zero-Modem)實現一對異步串口連接。圖1為一種“零-Modem”連接方式(具體信號的意義可見RS232標準)。

        由于RS232標準的異步通信規約數據幀都帶起始位和停止位,并且SC16C750B UART芯片具有自動硬件流量控制功能,因此可以進一步忽略與Modem相關的控制信號(DTR、DSR、CD、RTS、CTS),簡化連接。

1.1 SCl6C750B UART芯片

        SCl6C750B為異步串行通信芯片[6],帶標準Modem接口。它具有以下主要特點:

        ①標準異步錯誤位和幀格式位(起始位、停止位、奇偶校驗位),并且幀格式可編程;
        ②軟件可選擇波特率;
        ③發送和接收各64字節FIFOs;
        ④發送、接收、線路狀態等中斷可獨立控制,并且中斷優先級可編程;
        ⑤獨立的接收時鐘;
        ⑥在5V工作電壓下,發送或接收速率可達5Mbps;
        ⑦自動硬件流量控制;
        ⑧4種可選擇接收中斷級別;
        ⑨標準Modem接口;
        ⑩引腳與STl6C>t50/550、TLl6C450/550、PC16C450/550,軟件與SCl6C750及TL16C750兼容。其他一些特點不再贅述。

        SCl6C750B主要引腳的功能如表1所列,更具體的資料可見文獻[6]。

1.2硬件原理

        硬件設計的總體思路:

        ①UART的地址被分配到TMS320CC32的IOSTRB外部存儲器空間,片選信號對應的地址即為UART的基地址。
        ②RXRDY、TXRDY分別作為接收、發送中斷信號,分別接C32的中斷外部引腳INT0、INT1,并且C32的中斷觸發方式設為低電平觸發。

        ③UART的Tx、RX引腳均為CMOS電平,而RS232采用的是“負邏輯電平”。本設計采用1片MAX3232[7]完成它們之間的電平轉換和驅動,其數據傳輸速率最高達1 Mbps,。
        ④使接收部分和發送部分的波特率相同,此時RCLK接BAUDOUT引腳。
        ⑤外部參考時鐘頻率為1.8432 MHz。

1.3 UART擴展RS232串口原理

        依據上面的整體思路設計出硬件電路,如圖2所示。

        圖2中的端口信號,如數據和地址總線、復位信號、中斷信號,完成與TMS320C32之間的連接。本設計中片選信號對應TMS320C32的IOSTRB空間中的0x810100h,即SCl6C750B的內部寄存器的基地址。

2 TMS320C32的RS232串口軟件功能設計

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

2.1 SCl6C750B片內寄存器

        表2給出SCl6C7 150B內部寄存器的功能描述。寄存器各位意義可參見該芯片的數據手冊。

2.2程序設計

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

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

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

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

        ④設置波特率。

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

        用C語言開發[8]TMS320C32的串口通信程序。初始化程序如下:

#include<stdlib.h>
#include<ioports.h>
//聲明SCl6C750B寄存器的結構
typedef struet{
unsigned RHR,//接收保持寄存器
unsigned THR#//發送保持寄存器
unsigned IER;//中斷使能寄存器
unsigned FCR;//FIFO控制寄存器
unsigned ISR; //中斷服務狀態寄存器
unsigned LCR;//線路控制寄存器
unsigned MCR;//Modem控制寄存器
unsigned LSR; //線路狀態寄存器
unsigned MSR;//Modem狀態寄存器
unsigned SPR; //便箋寄存器
unsigned DLL; //波特率除數低字節鎖存器
unsigned DLM;//波特率除數高字節鎖存器
}SerialPort;
//SCl6C750B的寄存器基地址為0x810100h
SerialPort SD={
0x810100h,0x810100h,0x810101h,
0x810102h,0x810102h,0x810103h,
0x810104h.0x810105h, Ox810106h
0x810107h 0x810100h,0x810101h
);
void main(void){

//波特率設置
outport(sp.LCR,0x80); //LCR[7]=0
outport(sp.DLL,0x06); //波特率19 200 bps
outport(sp.DLM,0x00);
outport(sp.LCR,0xlF); //數據幀格式
outport(sD.FCR,0xAl)} //DMA mode 0
outport(sp.IER,0x07); //中斷使能

}
//INTO中斷服務例程——數據接收
unsigned char recvdata;
void c_int-1(void){
recvdata=inport(sp.RHR);

}
//INT中斷服務例程——數據發送
void c_int02(void){
outport(sp.THR,transdata);
;
}

3 結 論

        TMS320C32是一種高性價比的32位浮點DSP新片,但其通信功能相對較弱。采用SC16C750B UART芯片擴展TMS320C32的RS232串行口,用于實際溫度和壓力測控裝置中,經驗證,數據通信可靠。美國TI(Texas Instruments)公司的系列DSP芯片采用哈佛結構、流水線操作、專用硬件乘法器、快速DSP指令,使其在數字信號處理、通信和工業自動化等領域得到廣泛應用[1]。TMS320C32是32位浮點處理器。它除了上述特點外,還具有增強型存儲器接口、靈活的啟動裝載(boot loader)、可重定位的中斷矢量表、靈活的中斷方式和其他外設[2];其通信功能只包括片上集成的一個串口,但在設計中此串口一般被串行A/D或D/A芯片占用,或者被用于與另一片DSP芯片在“握手模式”(handshakemode)下直接連接[3]。

        雖然TMS320C32串口有多種工作方式[3,4],但通過串口相應的寄存器并不能直接配置出符合RS232標準的通信串口。而RS通信串口是自動化控制設備的一種基本通信方式,如PC機或其他各種基于微處理器的控制裝置。RS232標準在1991年被標準化組織EIA(ElectronicIndustries Association)重命名為EIA232標準[5],是一種異步串行通信標準,包括機械連接、信號功能、電壓特性和通信協議等幾個方面的規定

采用1片SC16C750B UART芯片[6]來完成TMS320C32的RS232串口的設計。此UART最高的串行數據速率可達3 Mbps,引腳與TLl6C750兼容,并且具有64字節接收和發送FIFOs以及自動硬件流量功能。這些特征使串口通信更加高效、可靠。

1 TMS320C32的RS232串口硬件設計

        在基于微處理器開發的自動控制裝置設計中,一般并不需要串行通信的長距離傳輸,故普遍采用“零-Modem”方式(Null-Modem or Zero-Modem)實現一對異步串口連接。圖1為一種“零-Modem”連接方式(具體信號的意義可見RS232標準)。

        由于RS232標準的異步通信規約數據幀都帶起始位和停止位,并且SC16C750B UART芯片具有自動硬件流量控制功能,因此可以進一步忽略與Modem相關的控制信號(DTR、DSR、CD、RTS、CTS),簡化連接。

1.1 SCl6C750B UART芯片

        SCl6C750B為異步串行通信芯片[6],帶標準Modem接口。它具有以下主要特點:

        ①標準異步錯誤位和幀格式位(起始位、停止位、奇偶校驗位),并且幀格式可編程;
        ②軟件可選擇波特率;
        ③發送和接收各64字節FIFOs;
        ④發送、接收、線路狀態等中斷可獨立控制,并且中斷優先級可編程;
        ⑤獨立的接收時鐘;
        ⑥在5V工作電壓下,發送或接收速率可達5Mbps;
        ⑦自動硬件流量控制;
        ⑧4種可選擇接收中斷級別;
        ⑨標準Modem接口;
        ⑩引腳與STl6C>t50/550、TLl6C450/550、PC16C450/550,軟件與SCl6C750及TL16C750兼容。其他一些特點不再贅述。

        SCl6C750B主要引腳的功能如表1所列,更具體的資料可見文獻[6]。

1.2硬件原理

        硬件設計的總體思路:

        ①UART的地址被分配到TMS320CC32的IOSTRB外部存儲器空間,片選信號對應的地址即為UART的基地址。
        ②RXRDY、TXRDY分別作為接收、發送中斷信號,分別接C32的中斷外部引腳INT0、INT1,并且C32的中斷觸發方式設為低電平觸發。

        ③UART的Tx、RX引腳均為CMOS電平,而RS232采用的是“負邏輯電平”。本設計采用1片MAX3232[7]完成它們之間的電平轉換和驅動,其數據傳輸速率最高達1 Mbps,。
        ④使接收部分和發送部分的波特率相同,此時RCLK接BAUDOUT引腳。
        ⑤外部參考時鐘頻率為1.8432 MHz。

1.3 UART擴展RS232串口原理

        依據上面的整體思路設計出硬件電路,如圖2所示。

        圖2中的端口信號,如數據和地址總線、復位信號、中斷信號,完成與TMS320C32之間的連接。本設計中片選信號對應TMS320C32的IOSTRB空間中的0x810100h,即SCl6C750B的內部寄存器的基地址。

2 TMS320C32的RS232串口軟件功能設計

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

2.1 SCl6C750B片內寄存器

        表2給出SCl6C7 150B內部寄存器的功能描述。寄存器各位意義可參見該芯片的數據手冊。

2.2程序設計

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

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

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

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

        ④設置波特率。

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

        用C語言開發[8]TMS320C32的串口通信程序。初始化程序如下:

#include<stdlib.h>
#include<ioports.h>
//聲明SCl6C750B寄存器的結構
typedef struet{
unsigned RHR,//接收保持寄存器
unsigned THR#//發送保持寄存器
unsigned IER;//中斷使能寄存器
unsigned FCR;//FIFO控制寄存器
unsigned ISR; //中斷服務狀態寄存器
unsigned LCR;//線路控制寄存器
unsigned MCR;//Modem控制寄存器
unsigned LSR; //線路狀態寄存器
unsigned MSR;//Modem狀態寄存器
unsigned SPR; //便箋寄存器
unsigned DLL; //波特率除數低字節鎖存器
unsigned DLM;//波特率除數高字節鎖存器
}SerialPort;
//SCl6C750B的寄存器基地址為0x810100h
SerialPort SD={
0x810100h,0x810100h,0x810101h,
0x810102h,0x810102h,0x810103h,
0x810104h.0x810105h, Ox810106h
0x810107h 0x810100h,0x810101h
);
void main(void){

//波特率設置
outport(sp.LCR,0x80); //LCR[7]=0
outport(sp.DLL,0x06); //波特率19 200 bps
outport(sp.DLM,0x00);
outport(sp.LCR,0xlF); //數據幀格式
outport(sD.FCR,0xAl)} //DMA mode 0
outport(sp.IER,0x07); //中斷使能

}
//INTO中斷服務例程——數據接收
unsigned char recvdata;
void c_int-1(void){
recvdata=inport(sp.RHR);

}
//INT中斷服務例程——數據發送
void c_int02(void){
outport(sp.THR,transdata);
;
}

3 結 論

        TMS320C32是一種高性價比的32位浮點DSP新片,但其通信功能相對較弱。采用SC16C750B UART芯片擴展TMS320C32的RS232串行口,用于實際溫度和壓力測控裝置中,經驗證,數據通信可靠。美國TI(Texas Instruments)公司的系列DSP芯片采用哈佛結構、流水線操作、專用硬件乘法器、快速DSP指令,使其在數字信號處理、通信和工業自動化等領域得到廣泛應用[1]。TMS320C32是32位浮點處理器。它除了上述特點外,還具有增強型存儲器接口、靈活的啟動裝載(boot loader)、可重定位的中斷矢量表、靈活的中斷方式和其他外設[2];其通信功能只包括片上集成的一個串口,但在設計中此串口一般被串行A/D或D/A芯片占用,或者被用于與另一片DSP芯片在“握手模式”(handshakemode)下直接連接[3]。

        雖然TMS320C32串口有多種工作方式[3,4],但通過串口相應的寄存器并不能直接配置出符合RS232標準的通信串口。而RS通信串口是自動化控制設備的一種基本通信方式,如PC機或其他各種基于微處理器的控制裝置。RS232標準在1991年被標準化組織EIA(ElectronicIndustries Association)重命名為EIA232標準[5],是一種異步串行通信標準,包括機械連接、信號功能、電壓特性和通信協議等幾個方面的規定

上一篇:解串器(SerDes)

上一篇:TEA1753T

相關IC型號

熱門點擊

 

推薦技術資料

單片機版光立方的制作
    N視頻: http://v.youku.comN_sh... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
界首市| 贺州市| 民县| 丹东市| 平顺县| 文化| 当涂县| 屏东县| 德州市| 呼玛县| 江安县| 兴业县| 吐鲁番市| 荆州市| 永善县| 曲阳县| 太湖县| 徐州市| 克东县| 精河县| 宁强县| 腾冲县| 东兴市| 遂川县| 罗山县| 海宁市| 辽阳县| 苏尼特右旗| 娄底市| 瑞昌市| 孟村| 乌鲁木齐市| 古蔺县| 万载县| 凉城县| 金昌市| 陕西省| 东阿县| 黄陵县| 托克托县| 惠水县|