国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

TMS320C3X串口擴(kuò)展技術(shù)

發(fā)布時(shí)間:2010-6-27 21:50    發(fā)布者:我芯依舊
關(guān)鍵詞: TMS320C3X , 串口 , 擴(kuò)展技術(shù)
TMS320C3X是TI公司生產(chǎn)的第三代數(shù)字信號(hào)處理器,目前已相繼推出C30、C31、C32和VC33等四種類型,由于其性價(jià)比高而被廣泛應(yīng)用于各個(gè)領(lǐng)域中。

TMS320C3X是一種32bit的浮點(diǎn)DSP,其程序、數(shù)據(jù)和外設(shè)地址都映射在同一存儲(chǔ)空間,并有豐富的尋址方式和較大的尋址空間,因此對(duì)外設(shè)的訪問非常靈活方便。但在實(shí)際應(yīng)用中往往也要考慮一些不利因素:一是外部總線速度高、地址線寬,因此增加外設(shè)時(shí)對(duì)接口電路的時(shí)序要求較高,且電路連接較復(fù)雜;二是頻繁的外設(shè)訪問操作易產(chǎn)生流水線沖突而影響整體性能。DSP的串口有較強(qiáng)的設(shè)備管理能力,與外設(shè)連接也很簡單?因此成為DSP與低速外設(shè)交換數(shù)據(jù)的首選。但在TMS320C3X系列中,除TMS320C30提供兩個(gè)串口外,其它幾種芯片都只有一個(gè)串口,在很多情況下限制了這些芯片的進(jìn)一步使用。本文針對(duì)C3X串口的特點(diǎn),以TMS320C3X與TLC3204X連接為例,設(shè)計(jì)了一種串口擴(kuò)展方法。

1 TMS320C3X與TLC3204X連接簡介

TLC3204X是TI公司生產(chǎn)的話帶模數(shù)接口芯片(AIC),可與TMS320C3X等多種DSP芯片的串口直接相連,其A/D、D/A轉(zhuǎn)換精度為14bit,按16bit方式傳送,其中兩位用于芯片控制和啟動(dòng)輔助通信[1]。圖1是TLC3204X與TMS320C3X串口的連接圖[2]。AIC與DSP通過DX和DR交換數(shù)據(jù),AIC的主時(shí)鐘信號(hào)(MCLK) 由DSP的定時(shí)器0提供,而AIC的移位脈沖(SCLK)作為串口的發(fā)送時(shí)鐘(CLKX)和接收時(shí)鐘(CLKR),發(fā)送和接收幀同步信號(hào)分別由AIC的FSX和FSR提供。DSP串口以16位變速傳送方式工作,AIC按字方式傳送數(shù)據(jù)。


2 TMS320C3X串口擴(kuò)展原理

一般而言,外設(shè)數(shù)據(jù)字長較短,而TMS320C3X串口數(shù)據(jù)字長可靈活配置。利用這一特點(diǎn),只要增設(shè)少量的外部電路,就能在現(xiàn)有基礎(chǔ)上擴(kuò)展接口。在本例中,TLC3204X數(shù)據(jù)是16bit字長,因此只要將TMS320C3X串口設(shè)定為32bit傳送方式,每個(gè)TLC3204X各占用16bit,就能將該串口一分為二。圖2為TMS320C3X與兩片TLC3204X的連接示意圖,其接口電路的設(shè)計(jì)可分為發(fā)送和接收兩部分的設(shè)計(jì)。


2.1 發(fā)送接口電路

該接口應(yīng)完成兩個(gè)任務(wù)。一是接收來自TMS320C3X串口的32bit數(shù)據(jù),由TMS320C3X提供移位脈沖CLKX,幀同步信號(hào)(FSX)由接口電路提供,其時(shí)序如圖3所示。二是將32bit數(shù)據(jù)分解為兩個(gè)16bit數(shù)據(jù),然后再傳送到兩個(gè)TLC3204X芯片,由TLC3204X芯片提供發(fā)送時(shí)鐘SCLK和幀同步信號(hào)FSX以及完成信號(hào)EODX。傳送時(shí)序如圖4所示。

2.2 接收接口電路

該接口電路是發(fā)送接口電路的逆過程,其時(shí)序如圖5和圖6所示。


3 接口電路的實(shí)現(xiàn)

Verilog HDL 3?描述硬件單元的結(jié)構(gòu)簡單且易讀,是當(dāng)前最流行和通用的兩種硬件描述語言之一,得到眾多EDA工具的支持,因此利用該語言進(jìn)行電路設(shè)計(jì)可以節(jié)省開發(fā)成本并縮短開發(fā)周期。

3.1 接口電路的頂層Verilog HDL描述

module DSP_TLC(SCLK1, DX1, FSX1, EODX1, DR1, FSR1,
EODR1,SCLK0, DX0, FSX0, EODX0, DR0, FSR0, EODR0,
CLKX, DX, FSX, DR, FSR, RESET);
input FSX1, EODX1, FSX0, EODX0, DX, CLKX, RESET;
output FSX, DX1, DX0?
input DR1, SCLK1, FSR1, EODR1, DR0, SCLK0, FSR0, EODR0;
output FSR, DR?
Transmit TRA(DX1, SCLK1, FSX1, EODX1, DX0, SCLK0, FSX0, EODX0, DX, CLKX, FSX, RESET);
Receive REC(DR1, SCLK1, FSR1, EODR1, DR0, SCLK0, FSR0, EODR0, DR, CLKX, FSR, RESET);
endmodule

3.2 發(fā)送接口電路的Verilog HDL描述

module Transmit(DX1, SCLK1, FSX1, EODX1, DX0, SCLK0,FSX0, EODX0, DX, CLKX, FSX, RESET);
input SCLK1, FSX1, EODX1, SCLK0, FSX0, EODX0;
input DX, CLKX, RESET?
output FSX, DX1, DX0;
reg [31:0] tmp_DX, temp_DX;
reg [1:0] tmp_EODX;
reg [4:0] DX_count;
assign DX1 = temp_DX[31];
assign DX0 = temp_DX[15]?
assign FSX = (tmp_EODX == 2'b11) ? 1'b0 : 1'b1;
always @(negedge CLKX or negedge RESET)
begin
if (RESET == 1′b0)
begin
tmp_DX <= 32'b0?
tmp_EODX <= 2'b0?
DX_count <= 5'b0?
end
else
begin
if (EODX1 == 1'b0) tmp_EODX[1] <= 1'b1;
if (EODX0 == 1'b0) tmp_EODX[0] <= 1'b1?
if (DX_count == 5'b11111) tmp_EODX <= 2'b0?
if (FSX == 1'b0)
begin
tmp_DX[0] <= DX?
tmp_DX[31:1] <= tmp_dx[30:0]?
DX_count <= DX_count + 1?
end
else
DX_count <= 5'b0?
end
end
always @(posedge SCLK1)
begin
if (FSX1 == 1'b0)
temp_DX[31:17] <= temp_DX[30:16]?
else
temp_DX[31:16] <= tmp_DX[31:16]?
end
always @(posedge SCLK0)
begin
if (FSX0 == 1'b0)
temp_DX[15:1] <= temp_DX[14:0];
else
temp_DX[15:0] <= tmp_DX[15:0]?
end
endmodule

3.3 接收接口電路的Verilog HDL描述

module Receive(DR1, SCLK1, FSR1, EODR1, DR0, SCLK0, FSR0, EODR0, DR, CLKR, FSR, RESET);
input DR1, SCLK1, FSR1, EODR1, DR0, SCLK0, FSR0, EODR0;
input CLKR, RESET;
output FSR, DR;
reg [31:0] tmp_DR, temp_DR;
reg [1:0] tmp_EODR;
reg [4:0] DR_count;
assign DR = (FSR == 1'b0) ? tmp_DR[31] : 1'bz;
assign FSR = (tmp_EODR == 2'b11) ? 1'b0 : 1'b1;
always @(posedge CLKR or negedge RESET)
begin
if (RESET == 1'b0)
begin
tmp_DR <= 32'b0;
tmp_EODR <= 2'b0;
DR_count <= 5'b0;
end
else
begin
if (EODR1 == 1'b0) tmp_EODR[1] <= 1'b1;
if (EODR0 == 1'b0) tmp_EODR[0] <= 1'b1;
if (DR_count == 5'b11111) tmp_EODR <= 2'b0;
if (FSR == 1'b0)
begin
tmp_DR[31:1] <= tmp_DR[30:0]?
DR_count <= DR_count + 1;
end
else
begin
DR_count <= 5'b0;
Tmp_DR <= temp_DR;
end
end
end
always @(negedge SCLK1)
begin
if (FSR1 == 1'b0)
begin
temp_DR[16] <= DR1?
temp_DR[31:17] <= temp_DR[30:16];
end
end
always @(negedge SCLK0)
begin
if (FSR0 == 1'b0)
begin
temp_DR[0] <= DR0;
temp_DR[15:1] <= temp_DR[14:0];
end
end
endmodule

本文介紹了一種TMS320C3X串口擴(kuò)展技術(shù),并用Verilog HDL語言進(jìn)行了描述,利用中小容量的CPLDFPGA就能實(shí)現(xiàn)該接口功能。該電路已被作者應(yīng)用到實(shí)際系統(tǒng)中,仿真和實(shí)踐證明該接口穩(wěn)定可靠,具有一定的應(yīng)用價(jià)值。
本文地址:http://m.qingdxww.cn/thread-13796-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级黄色片免费看 | 亚洲成人第一 | 亚洲国产一区二区三区在线观看 | 亚洲欧美精品在线 | 色在线免费 | 国产精品永久免费10000 | 亚洲日本高清 | 九九热香蕉视频 | 在线精品国精品国产不卡 | 日日欧美 | 欧美国产日韩1区俺去了 | 久久精品国产亚洲综合色 | 欧美日韩国产精品自在自线 | 欧美亚洲香蕉 | 十级毛片| 国产一级毛片免 | 视频国产精品 | 一本到卡二卡三卡视频 | 2019偷偷狠狠的日日 | 亚洲三级在线免费观看 | 2021国产麻豆剧果冻传媒入 | www.99热| 日韩精品成人免费观看 | 亚洲欧洲淘宝天堂日本 | 午夜视频在线播放 | 欧美性生大片免费观看 | 男女免费观看视频 | 99精品国产免费久久国语 | 欧美黑人成人www在线观看 | 日韩成人性视频 | 99国产精品农村一级毛片 | 把女人弄爽特黄a大片片 | 免费人成在线观看网站 | 日韩欧美一区二区三区不卡 | 色狠狠一区二区三区香蕉蜜桃 | 日本国产在线 | 自拍1页| 欧美香蕉爽爽人人爽观看猫咪 | 91最新 | 日本综合在线观看 | 亚洲高清在线播放 |