999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

串口流控在DSP中的應(yīng)用與實現(xiàn)*

2017-04-24 02:30:12張躍寶任源博管英祥
計算機與數(shù)字工程 2017年4期
關(guān)鍵詞:設(shè)置

張躍寶 胡 俊 任源博 管英祥

(中國電子科技集團公司第二十二研究所 青島 266107)

串口流控在DSP中的應(yīng)用與實現(xiàn)*

張躍寶 胡 俊 任源博 管英祥

(中國電子科技集團公司第二十二研究所 青島 266107)

基于短波無線通信的目的,通過DSP串口控制Collins Modem調(diào)制發(fā)送大批量數(shù)據(jù),存在數(shù)據(jù)丟失問題;導(dǎo)致此原因是MODEM兩端波特率不一致,使Modem緩沖區(qū)溢出丟數(shù),所以在電路上采用DSP加TL16C752B串口硬流控方式進(jìn)行數(shù)據(jù)傳送。結(jié)合短波空中鏈路實驗,連續(xù)發(fā)送大數(shù)據(jù),經(jīng)Modem解調(diào)通過串口上送到DSP,經(jīng)實驗驗證未存在數(shù)據(jù)丟失問題。

短波; Modem; 波特率; 硬流控; 調(diào)試; 解調(diào)

1 引言

在DSP串行接口的設(shè)計中,通用PC機的RS-232接口為通用異步接口UART,為了使DSP能夠與PC機進(jìn)行異步串行通信,必須擴展相應(yīng)的硬件。

TMS320C6416 DSP芯片[8]與PC機實現(xiàn)異步通信通常有兩種方法:第一種是使用TMS320C6416的McBSP實現(xiàn)UART的功能;第二種是通過擴展異步通信芯片TL16C752B[9]來實現(xiàn)高速串行通信,本文選用的就是第二種。

在Modem傳輸過程中,PC機串口與DSP串口通信通過TL16C752B傳送數(shù)據(jù)到TMS320C6416,此過程采用的是異步串行[1]通信方案。

2 系統(tǒng)總體結(jié)構(gòu)

圖1 系統(tǒng)結(jié)構(gòu)圖

3 DSP串口通信接口設(shè)計

3.1 工作流控制模式

TL16C752B硬件流控制可降低軟件消耗,通過RTS和CTS引腳信號的硬件連接可自動控制串行數(shù)據(jù)流,從而提高系統(tǒng)的有效性。

硬件流控制使能可通過EFR(設(shè)定EFR的高2位)和MCR這兩個寄存器來實現(xiàn)。具體工作流程(從接收的角度)為:接收時,若操作達(dá)到接收中斷等級,則產(chǎn)生中斷,但這時傳輸還在進(jìn)行(這里假設(shè)中斷有一定延時);而當(dāng)RHR中的數(shù)據(jù)數(shù)目達(dá)到接收停止等級規(guī)定的數(shù)值時,CTS信號置位,以通知發(fā)送端停止發(fā)送數(shù)據(jù),這時接收端將讀取RHR中的數(shù)據(jù)。當(dāng)RHR中的數(shù)據(jù)數(shù)目降到接收啟動等級規(guī)定的數(shù)值時,接收端復(fù)位CTS信號,以通知發(fā)送端可以繼續(xù)發(fā)送數(shù)據(jù)。

3.2 DSP與TL16C752B電路設(shè)計

TL16C752B與PC的串行通信部分的硬件連接原理[13]如圖2所示。圖中,地址線A0~A2、數(shù)據(jù)線D0~D7分別和DSP的地址總線A0~A2、 外部數(shù)據(jù)線D0~D7直接相連,而選通信號CSA、CSB分別與DSP的EMIFB的BCE3、BCE2直連,讀寫信號IOR、IOW分別與DSP EMIFB的BARE和BAWE直連,復(fù)位信號RESET連接到外部復(fù)位電路,以及中斷信號INTA/B則接入FPFA并由 FPGA處理,電路中使用FPGA一方面可以對UART的地址靈活配置,另一方面也可以靈活生成UART的選通和讀寫信號,從而增強系統(tǒng)的靈活性,方便系統(tǒng)調(diào)試。

圖2 連接示意圖

由于PC端串口采用RS232電平標(biāo)準(zhǔn),因此UART之后需要連接 MAX3160以完成電平轉(zhuǎn)換。TL16C752B的數(shù)據(jù)發(fā)送引腳和數(shù)據(jù)接收引腳分別與MAX3160的數(shù)據(jù)輸入引腳和數(shù)據(jù)輸出引腳連接。這里只使用一套 UART來完成TL16C752B和PC的通信,數(shù)據(jù)收、發(fā)采用中斷方式,UART_INTA通過FPGA和TMS320C6416的外部中斷INT7 相連接。而3.072MHz晶振則連接到XTAL1和XTAL2兩引腳。波特率設(shè)定為38400,故DLL/DLH分別為06H和00H。

具體調(diào)試時,可先從查詢方式開始,若沒有問題,再使用中斷方式。

4 DSP串口通信的軟件設(shè)計

本程序是由短波自適應(yīng)選頻技術(shù)[6]中DSP調(diào)制解調(diào)[5]里控制Modem的主要程序,該系統(tǒng)的軟件設(shè)計部分主要包括PC機程序、DSP初始化、TL16C752B初始化和數(shù)據(jù)發(fā)送/接收以及雙方的通信協(xié)議等,利用C完成驅(qū)動程序[3]。

4.1 DSP初始化程序

外圍設(shè)備初始化

EMIFB_Config MyConfigB = {

………

0x22A28A0A, //cectl3 EMIFB的ce2,8空間配置為Uart

0x22A28A0A, //cectl3 EMIFB的ce3,8空間配置為Uart

………

};

EMIFB_config(&MyConfigB);//配置EMIFB外設(shè)寄存器

(串口接收中斷向量初始化

………

IRQ_map(IRQ_EVT_EXTINT6, 6);

IRQ_reset(IRQ_EVT_EXTINT6);

4.2 TL16C752B初始化

TL16C752B初始化程序主要包括以下幾部分:

1) 波特率的設(shè)定及計算

TL16C752B包含一個可編程的波特率寄存器,它可以在輸入時鐘的基礎(chǔ)上進(jìn)行分頻(最大分頻數(shù)為216-1),其計算公式如下:

分頻數(shù)=當(dāng)前時鐘輸入(30.72MHz)/(比例系數(shù)X16 X期望的波特率)。

其比例系數(shù)為

當(dāng)復(fù)位后,寄存器MCR的第7位設(shè)為0時,比例系數(shù)為1(默認(rèn)值)。

當(dāng)復(fù)位后,寄存器MCR的第7位設(shè)為1時,比例系數(shù)為4。

當(dāng)時鐘為30.72MHz時,常用波特率的設(shè)置如表1。

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

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

表1 波特率對應(yīng)除數(shù)位

4) 硬件流控制模式使能;

5) 傳輸數(shù)據(jù)格式設(shè)定,包括8位數(shù)據(jù)位、2位停止位、DMA傳輸模式1、偶校驗、不使用強制校驗?zāi)J健和?刂莆粺o效等;

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

此外,在完成設(shè)置前,還應(yīng)注意以下幾點:

(1) 設(shè)定DLL和DLH前,LCR[7]應(yīng)為1;

(2) 設(shè)定MCR前,EFR[4]應(yīng)為1,LCR應(yīng)為00H。地址相重疊的寄存器不能同時使能;

(3) 讀寫RHR和THR時,由于DSP的讀寫速度很快,故最好不要連續(xù)讀寫,而是在每讀、寫一次后延時一段時間,然后再進(jìn)行下一次讀寫。

TL16C752B初始化程序如下:

//設(shè)置串口的寄存器值

void UART_rset(Uint32 channel,Uint16 regnum, Uint8 regval){

Uint8 *udata = (Uint8 *)(C6416_board_uart + channel + regnum);

*udata =(regval & 0xff);

}

//串口初始化

………

// 設(shè)置時鐘除數(shù)比例因子為"1"

UART_rset(channel,UART_LCR,0xBF);

//設(shè)置Auto-CTS,硬流控

UART_rset(channel,UART_EFR,0x90);

//EFR[4]=1,設(shè)置MCR、TLR

UART_rset(channel,UART_LCR,0x00);

UART_rset(channel,UART_MCR,0x4C);

//EFR[4]=1,MCR[6]=1,設(shè)置TLR

UART_rset(channel,UART_TLR,0x88);

//波特率

//設(shè)置波特率前,LCR[7]為1

UART_rset(channel,UART_LCR,0x80);

//設(shè)置波特率低位,波特率高位

UART_rset(channel,UART_DLL,baudratel);

UART_rset(channel,UART_DLH,baudrateh);

UART_rset(channel,UART_LCR,0xf0);//set high 2bits 1

//設(shè)置數(shù)據(jù)位,停止位,奇偶檢驗位

uartdata=UartWordLen+UartStopBits+UartParity;

UART_rset(channel,UART_LCR,uartdata);

//設(shè)置IER,接收中斷使能

UART_rset(channel,UART_IER,0x05);

}

4.3 DSP接收/發(fā)送串口通信

1) DSP循環(huán)查詢發(fā)送串口數(shù)據(jù)

//串口正在發(fā)數(shù)

Uint32 sendAcnt;//要發(fā)送數(shù)據(jù)個數(shù)

Uint32 sendAbufStart;//發(fā)送循環(huán)buffer的起始位置

Uint8 uartSendData[4096];//發(fā)送數(shù)據(jù)的循環(huán)buffer

Uint8 sendAFdy=UART_rget(UARTA_Handle,UART_FDY);

sendAFdy=sendAFdy&0x03;

if(((sendAFdy&0x01)==0x01)){

for(j=0;j<32;j++){ //TL16C752B的fifo

if(((sendAbufStart-sendAcnt)&0xfff)==0)break;

delay(50,10);

UART_rset(UARTA_Handle,UART_THR,uartSendData[sendAbufStart&0xfff]);

sendAbufStart++;

sendAbufStart=sendAbufStart&0xfff;

}

}

2) DSP中斷接收串口數(shù)據(jù)

Uint8 temp_iirall = UART_rget(UARTA_Handle, UART_IIR);

Uint8 temp_iir=temp_iirall&0x0f;

if(temp_iir==0x04){

//串口A的接收

for(int j=0;j<32;j++){//TL16C752B接收fifo

if((Temp_Data&0x01) == 0x01){

UART_receive_single(UARTA_Handle);

Uint8 Temp_Data = UART_rget(UARTA_Handle, UART_LSR);}

}

}

5 結(jié)語

通過擴展串口完成TMS320C6416與PC機串行通信硬件接口比較簡單、數(shù)據(jù)傳送距離遠(yuǎn)、使用經(jīng)濟。該電路及其軟件經(jīng)與PC機的通信實驗證明,在波特率為19200時,硬件流控能很好地控制數(shù)據(jù)的傳輸,能夠可靠地實現(xiàn)與PC機的通信。通過加入流控,解決了大數(shù)據(jù)量無線通信丟失數(shù)據(jù)問題。實現(xiàn)數(shù)據(jù)可靠傳輸。

[1] 鐘睿.DSP技術(shù)完全攻略—基于TI系列的DSP設(shè)計與開發(fā)[M].北京:化學(xué)工業(yè)出版社,2015:34-214. ZHONG Rui. DSP Technology completely Itroduction-Based on TI Series DSP Design and Development[M]. Beijing: Press of Chemical industry,2015:34-214.

[2] 許邦建,唐濤,張申赤.DSP處理器算法概論[M].北京:國防工業(yè)出版社,2012. XU Bangjian, TANG Tao, ZHANG Shenchi. DSP Processing Algorithm Introduction[M]. Beijing: Press of Defence Industry,2012.

[3] 李景峰.Visual C++串口通信技術(shù)詳解[M].北京:機械工業(yè)出版社,2013. LI Jingfeng. The Explaination of Visual C++ Serial port Communication[M]. Beijing: Press of Engineering Industry,2013.

[4] 胡成華,劉傳瑞,郭文生.嵌入式網(wǎng)絡(luò)編程[M].北京:電子工業(yè)出版社,2012. HU Chenghua, LIU Chuanrui, GUO Wensheng. Embeded NET Programming[M]. Beijing: Press of Electronic Industry,2012.

[5] 王金龍.短波數(shù)字通信研究與實踐[M].北京:科學(xué)出版社,2013. WANG Jinlong. The Research and Practice of ShortWave Digital Communication[M]. Beijing: Press of Science,2013.

[6] 戴耀森.短波數(shù)字通信自適應(yīng)選頻技術(shù)[M].杭州:浙江科學(xué)技術(shù)出版社,1992. DAI Yaoshen. ShortWave Digital Communication Self-Adaptive Frequcency Selection Technique[M]. Hangzhou: Press of ZheJiang Science and Technology,1992.

[7] 禹思敏.通信原理[M].西安:西安電子科技大學(xué)出版社,2016 YU Simin. Communication Theory[M]. Xi’an: Press of XIAN University of Electronic Science and Technology of China,2016.

[8] TI. TMS320C6414/5/6T Data Sheet[EB/OL]. Texas Instruments Incorporated,2004.

[9] TI. TL16C752B Data Sheet[EB/OL]. Texas Instruments Incorporated,2000.

[10] 勒紅濤,趙娜,等.基于TL16C752B的DSP通用異步串行接口設(shè)計[J].電子測量技術(shù),2009,32(7):93-95. LE Hongtao, ZHAO Na, et al. The DSP Asynchronous Serial Communication Based On TL16c752B[D]. Journal of Electric Measure Technology,2009,32(7):93-95.

[11] 鄭阿奇,孫承龍.DSP開發(fā)寶鑒[M].北京:電子工業(yè)出版社,2012. ZHONG Eqi, SUN Chenglong. DSP Develping Thesaures[M]. Beijing: Press of Electronic Industry,2012.

[12] 姚睿,付大豐,儲劍波.DSP控制器原理與應(yīng)用技術(shù)[M].北京:人民郵電出版社,2014. YAO Rui, FU Dafeng, CHU Jianbo. The Principles and Application Technologies of DSP Controller[M]. Beijing: Press of People’s Post,2014.

[13] 魏偉.DSP嵌入式系統(tǒng)綜合設(shè)計案例精講[M].北京:化學(xué)工業(yè)出版社,2016. WEI Wei. The Explaination of DSP Embeded system General Design Case[M]. Beijing: Press of Chemical Industry,2016.

[14] 寧改娣.DSP控制器原理與應(yīng)用[M].北京:科學(xué)出版社,2015. NING Gaidi. The Priticiples and Applications of DSP Controller[M]. Beijing: Press of Science,2015.

[15] 譚浩強.C程序設(shè)計(第二版)[M].北京:清華大學(xué)出版社,2011. TAN Haoqiang. C Program Design(Second)[M]. Beijing: Press of Tsinghua University,2011

[16] 鄭莉,董淵.C++程序設(shè)計基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2010. ZHENG Li, DONG Yuan. C++ Program Design Basis Course[M]. Beijing: Press of Tsinghua University,2010.

[17] 王新梅,肖國鎮(zhèn).糾錯碼—原理與方法[M].西安:西安電子科技大學(xué)出版社,2003. WANG Xinmei, XIAO Guozhen. Error Correcting Code-Priticiples and Technique[M]. Xi’an; Press of Xi’an University of Electronic Science and Technology of China,2003.

[18] 鄭紅,王鵬,董云風(fēng),等.DSP應(yīng)用系統(tǒng)設(shè)計實踐[M].北京:北京航空航天大學(xué)出版社,2006. ZHENG Hong, WANG Peng, DONG Yunfeng, et al. DSP Application Design Pratice[M]. Beijing: Press of Beijing University of Aeronautics and Astronautics,2006.

Application and Implemention of UART flow control in DSP

ZHANG Yuebao HU Jun REN Yuanbo GUAN Yingxiang

(The Twenty-Two Research Institute, China Electronic Technology Group Corporation, Qingdao 266107)

Based on short wave wireless communication, through the DSP serial port control Collins Modem modulation to send large quantities of data, there is a problem of data loss. The reason for this result is not consistent across the MODEM baud rate, it makes the Modem buffer overflow, therefore, in the circuit using DSP plus TL16C752B serial hard flow mode for data transmission. Combined with short wave air link experiment, the continuous transmission of large data, the Modem demodulation through the serial port to the DSP, the experimental verification of the data loss problem does not exist.

shortwave, modem, baudrate, hardware flow control, modulation, demodulation Class Number TN92

2016年10月12日,

2016年11月27日

張躍寶,男,碩士研究生,工程師,研究方向:兩輪不穩(wěn)定體的變結(jié)構(gòu)控制研究。 胡俊,男,碩士研究生,工程師,研究方向:集成電路設(shè)計。任源博,女,工程師,研究方向:計算機與應(yīng)用。管英祥,男,工程師,研究方向:短波通信仿真。

TN92

10.3969/j.issn.1672-9722.2017.04.038

猜你喜歡
設(shè)置
中隊崗位該如何設(shè)置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結(jié)構(gòu)及設(shè)置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫(yī)學(xué)專業(yè)與專科設(shè)置對比分析及啟示
特殊場景下列控等級轉(zhuǎn)換的設(shè)置方案
7招教你手動設(shè)置參數(shù)
動車段(所)股道有效長設(shè)置研究
我國中小學(xué)將設(shè)置人工智能相關(guān)課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
主站蜘蛛池模板: 国产91在线|日本| 国产爽歪歪免费视频在线观看| 国产精品999在线| 久久黄色免费电影| 香蕉eeww99国产在线观看| 大学生久久香蕉国产线观看| 激情无码字幕综合| 日韩国产无码一区| 国产成人无码综合亚洲日韩不卡| 国产精品刺激对白在线| 无码AV日韩一二三区| 四虎免费视频网站| 国产靠逼视频| 亚洲黄色网站视频| 久久影院一区二区h| 亚洲性日韩精品一区二区| 中文成人在线视频| 人人艹人人爽| 亚洲无码日韩一区| 67194亚洲无码| 亚洲 欧美 偷自乱 图片| 四虎在线高清无码| 国产成人午夜福利免费无码r| 美女无遮挡拍拍拍免费视频| 91精品啪在线观看国产91| 尤物在线观看乱码| 国产一区免费在线观看| av在线无码浏览| 午夜不卡视频| 亚洲精品欧美重口| 免费人欧美成又黄又爽的视频| 亚洲一区二区约美女探花| 狼友视频一区二区三区| 91视频免费观看网站| 天天操精品| 欧美午夜理伦三级在线观看| 精品一区二区久久久久网站| 丁香五月亚洲综合在线| 欧美日韩午夜| 国产精品99r8在线观看| 波多野结衣一区二区三视频| 一区二区在线视频免费观看| 九色91在线视频| 99re经典视频在线| 久久大香伊蕉在人线观看热2 | 四虎综合网| 国产在线观看人成激情视频| 超碰aⅴ人人做人人爽欧美| 日本欧美成人免费| 一区二区日韩国产精久久| 毛片免费试看| 久久国产高清视频| 亚洲AⅤ无码国产精品| 国产午夜小视频| 日韩在线成年视频人网站观看| AⅤ色综合久久天堂AV色综合| 久久精品女人天堂aaa| a亚洲天堂| 99在线视频网站| 91精品在线视频观看| 男人天堂亚洲天堂| 国产精品一区二区在线播放| 国产黄视频网站| 久久精品丝袜| 丝袜久久剧情精品国产| 国内老司机精品视频在线播出| 国产成人久久777777| 在线观看视频99| 色悠久久久| 97se亚洲综合在线天天| 久草网视频在线| 亚洲欧美日韩另类在线一| 国产精品美女自慰喷水| 亚洲欧美精品在线| 色妞www精品视频一级下载| 91精品伊人久久大香线蕉| 鲁鲁鲁爽爽爽在线视频观看| 日本不卡在线| 国产成人精品第一区二区| 亚洲日韩欧美在线观看| 欧美日韩一区二区在线免费观看 | 日本爱爱精品一区二区|