0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于TL16C550C實(shí)現(xiàn)DSP UART數(shù)據(jù)通信的方法研究

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-13 16:19 ? 次閱讀

由于TMS320C6416不帶異步串行收發(fā)接口UART),無法實(shí)現(xiàn)DSP系統(tǒng)常用的通串行通信。為此,本文基于TL16C550C設(shè)計(jì)了一種通過TMS32C6416實(shí)現(xiàn)UART數(shù)據(jù)通信的方法,同時(shí)給出了其硬件設(shè)計(jì)框圖以及通過TMS320C6416初始化TL16C550C的軟件編程方式。

高速數(shù)字信號處理器(DSP)在圖像處理中,特別是視頻處理中的應(yīng)用非常廣泛。通常DSP都具有很強(qiáng)的運(yùn)算能力,但是其外設(shè)的接口相對有限。在應(yīng)用系統(tǒng)中,往往需要DSP與下位機(jī)通信或者接受上位機(jī)的控制信號時(shí),一般都是采用異步串行通信協(xié)議,如RS232RS422來實(shí)現(xiàn)。由于TMS320C6416器件自身只帶有同步的串口,因此,為了實(shí)現(xiàn)正常的通信,一般都需要為其擴(kuò)展異步串口。

l、TL16C550C芯片介紹

TL16C550C是TI公司研發(fā)的異步通信器件,其主要性能特點(diǎn)如下:

供電電壓為5 V或3.3 V;

時(shí)鐘頻率達(dá)到16 MHz。通信時(shí)波特率最高可達(dá)1 M,并可編程設(shè)定波特率發(fā)生器;

◇具有標(biāo)準(zhǔn)的異步通信位,可選擇5、6、7或8位串行數(shù)據(jù)位,可設(shè)置奇偶校驗(yàn)或無校驗(yàn)?zāi)J?,停止位長度為1、1.5、2;

◇可獨(dú)立控制發(fā)送、接收、線狀態(tài)以及中斷設(shè)置,可軟件設(shè)定FIFO,減少CPU中斷。

TL16C550C器件內(nèi)部共有10個寄存器,可分別用于實(shí)現(xiàn)通信參數(shù)的設(shè)置、對線路及MODEM狀態(tài)的訪問、數(shù)據(jù)的發(fā)送和接收以及中斷管理等功能。TL16C550C的地址可分別通過A0-A2地址線和某些寄存器的特定位置來確定,由于有些寄存器的地址是重疊的,所以還需同時(shí)通過讀/寫信號加以區(qū)分。

TL16C550C片內(nèi)寄存器及其映射地址如表1所列,其中高位和低位寄存器為二次尋址寄存器,因此,在訪問這兩個寄存器之前,必須將LCR的第7位置為1。

2、TL16C550C與PC的數(shù)據(jù)通信電路

2.1 TL16C550C的選通

TL16C550C與PC的串行通信部分的硬件連接電路如圖1所示。由ISO3088實(shí)現(xiàn)電平轉(zhuǎn)換,即通過ISO3088將輸出電平配置為RS485信號。

2.2 TLl6C2550C的讀寫

TL16C550C的讀信號為,RD2,當(dāng)為低電平或RD2為高電平,且TL16C550C被選中時(shí),可進(jìn)行讀操作;寫信號為,WR2,當(dāng)為低電平或WR2為高電平,且TL16C550C被選中時(shí),可進(jìn)行寫操作。將、RD2、、WR2都與CPLD的I/0相連,便可通過CPLD來控制TL16C550C的讀寫。

3、TL16C550C和PC通信的軟件編程

該套系統(tǒng)的軟件設(shè)計(jì)部分主要包括PC機(jī)程序、DSP初始化、TL16C550C初始化和數(shù)據(jù)發(fā)送/接收以及雙方的通信協(xié)議等。本文著重介紹TL16C550C的初始化程序。主要由以下幾部分組成:

◇波特率的設(shè)定;波特率除數(shù)寄存器由高8位(DLM)和低8位(DLL)組成。除數(shù)的值可由UART的工作時(shí)鐘和波特率共同確定,其計(jì)算公式為:

除數(shù)=時(shí)鐘頻率/(期望的波特率×16)

例如本系統(tǒng)中時(shí)鐘頻率12 MHz,波特率設(shè)置為9600,則除數(shù)的值為12,應(yīng)在初始化程序中設(shè)置DLM=OOH,DLL=4eH;

◇增強(qiáng)功能的使能及設(shè)置EFR的相關(guān)位;

◇完成有關(guān)收/發(fā)FIF0的設(shè)定,主要是MCR/TCR/TLR三個寄存器的設(shè)置;

◇傳輸數(shù)據(jù)格式設(shè)定,包括8位數(shù)據(jù)位、1位停止位以及無校驗(yàn);

◇設(shè)置FIFO控制以及中斷控制寄存器。

此外,在完成設(shè)置前,還應(yīng)注意:設(shè)定DLL和DLH前,LCR的第7位應(yīng)為1;地址相重疊的寄存器不能同時(shí)使能;讀寫RHR和THR時(shí),DSP的讀寫速度很快,故最好不要連續(xù)讀寫,而是在每讀、寫一次后延時(shí)一段時(shí)間。然后再進(jìn)行下一次讀寫。

由于TL16C550C映射在DSP的CEO區(qū)間,所以在DSP訪問其寄存器時(shí)只需將基地址加上偏移量即可。其初始化源程序如下:

4、結(jié)束語

本文介紹了通過TL16C550C擴(kuò)展串口完成TMS320C6416與PC機(jī)串行通信的設(shè)計(jì)方案,給出了硬件設(shè)計(jì)框圖及軟件實(shí)現(xiàn)代碼。該電路及軟件經(jīng)實(shí)驗(yàn)證明能夠可靠地實(shí)現(xiàn)TMS320C416與PC機(jī)之間的通信,并且此方法已在實(shí)際的項(xiàng)目中得到應(yīng)用。

TL16C550C采用3.3 V供電.將TL16C550C的數(shù)據(jù)線DO~D7與TM320C6416T直連,從而實(shí)現(xiàn)數(shù)據(jù)的傳輸。同時(shí)應(yīng)將TL16C550C的片內(nèi)寄存器選擇線與TM320C6416T的BEAl,BEA2,BEA3引腳相連,當(dāng)TL16C550C的片選信號CSO,CSl為高電平,為低電平時(shí),TLl6C550B即被選中。CS0,CSl直接與高電平相連。則與CPLD的I/0相連,如此便實(shí)現(xiàn)了以CPLD來實(shí)現(xiàn)TL16C550C的選通。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228819
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7959

    瀏覽量

    347932
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119823
收藏 人收藏

    評論

    相關(guān)推薦

    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    UART是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART
    的頭像 發(fā)表于 10-24 14:20 ?274次閱讀
    <b class='flag-5'>UART</b><b class='flag-5'>通信</b>協(xié)議介紹和<b class='flag-5'>數(shù)據(jù)</b>傳輸工作流程

    TL16C752D具有64字節(jié)FIFO的雙路UART數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C752D具有64字節(jié)FIFO的雙路UART數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-10 09:19 ?0次下載
    <b class='flag-5'>TL16C</b>752D具有64字節(jié)FIFO的雙路<b class='flag-5'>UART</b><b class='flag-5'>數(shù)據(jù)</b>表

    TL16C2752 1.8至5V雙通道UART數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C2752 1.8至5V雙通道UART數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-09 09:38 ?0次下載
    <b class='flag-5'>TL16C</b>2752 1.8至5V雙通道<b class='flag-5'>UART</b><b class='flag-5'>數(shù)據(jù)</b>表

    具有128字節(jié)FIFO的TL16C750E UART數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《具有128字節(jié)FIFO的TL16C750E UART數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-08 09:10 ?0次下載
    具有128字節(jié)FIFO的<b class='flag-5'>TL16C</b>750E <b class='flag-5'>UART</b><b class='flag-5'>數(shù)據(jù)</b>表

    TL16C550D,TL16C550DI帶自動流量控制的異步通信元件數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C550D,TL16C550DI帶自動流量控制的異步通信元件數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 12:58 ?0次下載
    <b class='flag-5'>TL16C550</b>D,<b class='flag-5'>TL16C550</b>DI帶自動流量控制的異步<b class='flag-5'>通信</b>元件<b class='flag-5'>數(shù)據(jù)</b>表

    TL16C2550-Q1 1.8至5V雙通道UART,內(nèi)置16字節(jié)FIFOS數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C2550-Q1 1.8至5V雙通道UART,內(nèi)置16字節(jié)FIFOS數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 12:56 ?0次下載
    <b class='flag-5'>TL16C</b>2550-Q1 1.8至5V雙通道<b class='flag-5'>UART</b>,內(nèi)置<b class='flag-5'>16</b>字節(jié)FIFOS<b class='flag-5'>數(shù)據(jù)</b>表

    TL16C752B-EP帶64字節(jié)FIFO的3.3 V雙通道UART數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C752B-EP帶64字節(jié)FIFO的3.3 V雙通道UART數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 12:53 ?0次下載
    <b class='flag-5'>TL16C</b>752B-EP帶64字節(jié)FIFO的3.3 V雙通道<b class='flag-5'>UART</b><b class='flag-5'>數(shù)據(jù)</b>表

    TL16C554,TL16C554I異步通信元件數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C554,TL16C554I異步通信元件數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 09:36 ?0次下載
    <b class='flag-5'>TL16C</b>554,<b class='flag-5'>TL16C</b>554I異步<b class='flag-5'>通信</b>元件<b class='flag-5'>數(shù)據(jù)</b>表

    TL16C554A,TL16C554AI異步通信元件數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C554A,TL16C554AI異步通信元件數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-01 11:50 ?0次下載
    <b class='flag-5'>TL16C</b>554A,<b class='flag-5'>TL16C</b>554AI異步<b class='flag-5'>通信</b>元件<b class='flag-5'>數(shù)據(jù)</b>表

    NS16C2552/NS16C2752雙通道UART數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《NS16C2552/NS16C2752雙通道UART數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-01 10:21 ?0次下載
    NS<b class='flag-5'>16C</b>2552/NS<b class='flag-5'>16C</b>2752雙通道<b class='flag-5'>UART</b><b class='flag-5'>數(shù)據(jù)</b>表

    具有FIFO的雙異步通信元件TL16C552A數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《具有FIFO的雙異步通信元件TL16C552A數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-26 11:28 ?0次下載
    具有FIFO的雙異步<b class='flag-5'>通信</b>元件<b class='flag-5'>TL16C</b>552A<b class='flag-5'>數(shù)據(jù)</b>表

    TL16C2550 1.8-V至5V雙UART,帶16字節(jié)FIFOS數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C2550 1.8-V至5V雙UART,帶16字節(jié)FIFOS數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-26 11:20 ?0次下載
    <b class='flag-5'>TL16C</b>2550 1.8-V至5V雙<b class='flag-5'>UART</b>,帶<b class='flag-5'>16</b>字節(jié)FIFOS<b class='flag-5'>數(shù)據(jù)</b>表

    TL16C550C具有自動流控制的異步通信元件數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TL16C550C具有自動流控制的異步通信元件數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-22 10:18 ?0次下載
    <b class='flag-5'>TL16C550C</b>具有自動流控制的異步<b class='flag-5'>通信</b>元件<b class='flag-5'>數(shù)據(jù)</b>表

    數(shù)據(jù)通信網(wǎng)關(guān)是什么?數(shù)據(jù)通信網(wǎng)關(guān)的功能作用

    數(shù)據(jù)通信網(wǎng)關(guān)是一種關(guān)鍵的網(wǎng)絡(luò)設(shè)備,它在不同的通信網(wǎng)絡(luò)或者不同協(xié)議的網(wǎng)絡(luò)之間充當(dāng)橋梁,實(shí)現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā)、協(xié)議轉(zhuǎn)換以及網(wǎng)絡(luò)互連。其主要功能和作用包括: 1、網(wǎng)絡(luò)互連:
    的頭像 發(fā)表于 05-29 14:43 ?783次閱讀

    數(shù)據(jù)通信系統(tǒng)的組成 數(shù)據(jù)通信系統(tǒng)的主要技術(shù)指標(biāo)

    數(shù)據(jù)通信系統(tǒng)是由多個組件組成的,主要包括發(fā)送端、接收端、傳輸介質(zhì)和通信協(xié)議。數(shù)據(jù)通信系統(tǒng)的主要技術(shù)指標(biāo)包括傳輸速率、端到端延遲、誤碼率、帶寬、可靠性等方面。 首先,發(fā)送端是數(shù)據(jù)通信系統(tǒng)
    的頭像 發(fā)表于 01-24 17:06 ?2830次閱讀