0 引言
高速數(shù)字信號處理器(DSP)在圖像處理中,,特別是視頻處理中的應用非常廣泛,。通常DSP都具有很強的運算能力,,但是其外設的接口相對有限。在應用系統(tǒng)中,,往往需要DSP與下位機通信或者接受上位機的控制信號時,,一般都是采用異步串行通信協(xié)議,如RS232或RS422來實現(xiàn),。由于TMS320C6416器件自身只帶有同步的串口,,因此,為了實現(xiàn)正常的通信,,一般都需要為其擴展異步串口。
l TLl6C550C芯片介紹
TLl6C550C是TI公司研發(fā)的異步通信器件,,其主要性能特點如下:
◇供電電壓為5 V或3.3 V,;
◇時鐘頻率達到16 MHz。通信時波特率最高可達1 M,,并可編程設定波特率發(fā)生器,;
◇具有標準的異步通信位,可選擇5,、6,、7或8位串行數(shù)據(jù)位,可設置奇偶校驗或無校驗模式,,停止位長度為1,、1.5、2,;
◇可獨立控制發(fā)送,、接收、線狀態(tài)以及中斷設置,,可軟件設定FIFO,,減少CPU中斷。
TLl6C550C器件內(nèi)部共有10個寄存器,可分別用于實現(xiàn)通信參數(shù)的設置,、對線路及MODEM狀態(tài)的訪問,、數(shù)據(jù)的發(fā)送和接收以及中斷管理等功能。TLl6C550C的地址可分別通過A0-A2地址線和某些寄存器的特定位置來確定,,由于有些寄存器的地址是重疊的,,所以還需同時通過讀/寫信號加以區(qū)分。
TLl6C550C片內(nèi)寄存器及其映射地址如表1所列,,其中高位和低位寄存器為二次尋址寄存器,,因此,在訪問這兩個寄存器之前,,必須將LCR的第7位置為1,。
2 TLl6C550C與PC的數(shù)據(jù)通信電路
2.1 TLl6C550C的選通
TLl6C550C與PC的串行通信部分的硬件連接電路如圖1所示。由ISO3088實現(xiàn)電平轉換,,即通過ISO3088將輸出電平配置為RS485信號,。
TLl6C550C的讀信號為,RD2,,當為低電平或RD2為高電平,,且TLl6C550C被選中時,可進行讀操作,;寫信號為,,WR2,當為低電平或WR2為高電平,,且TLl6C550C被選中時,,可進行寫操作。將,、RD2,、、WR2都與CPLD的I/0相連,,便可通過CPLD來控制TLl6C550C的讀寫,。
3 TLl6C550C和PC通信的軟件編程
該套系統(tǒng)的軟件設計部分主要包括PC機程序、DSP初始化,、TLl6C550C初始化和數(shù)據(jù)發(fā)送/接收以及雙方的通信協(xié)議等,。本文著重介紹TLl6C550C的初始化程序。主要由以下幾部分組成:
◇波特率的設定,;波特率除數(shù)寄存器由高8位(DLM)和低8位(DLL)組成,。除數(shù)的值可由UART的工作時鐘和波特率共同確定,其計算公式為:除數(shù)=時鐘頻率/(期望的波特率×16)
例如本系統(tǒng)中時鐘頻率12 MHz,,波特率設置為9600,,則除數(shù)的值為12,,應在初始化程序中設置DLM=OOH,DLL=4eH,;
◇增強功能的使能及設置EFR的相關位,;
◇完成有關收/發(fā)FIF0的設定,主要是MCR/TCR/TLR三個寄存器的設置,;
◇傳輸數(shù)據(jù)格式設定,,包括8位數(shù)據(jù)位、1位停止位以及無校驗,;
◇設置FIFO控制以及中斷控制寄存器,。
此外,在完成設置前,,還應注意:設定DLL和DLH前,,LCR的第7位應為1;地址相重疊的寄存器不能同時使能,;讀寫RHR和THR時,,DSP的讀寫速度很快,故最好不要連續(xù)讀寫,,而是在每讀,、寫一次后延時一段時間。然后再進行下一次讀寫,。
本文介紹了通過TLl6C550C擴展串口完成TMS320C6416與PC機串行通信的設計方案,,給出了硬件設計框圖及軟件實現(xiàn)代碼,。該電路及軟件經(jīng)實驗證明能夠可靠地實現(xiàn)TMS320C416與PC機之間的通信,并且此方法已在實際的項目中得到應用,。
TLl6C550C采用3.3 V供電.將TLl6C550C的數(shù)據(jù)線DO~D7與TM320C6416T直連,從而實現(xiàn)數(shù)據(jù)的傳輸,。同時應將TL16C550C的片內(nèi)寄存器選擇線與TM320C6416T的BEAl,,BEA2,BEA3引腳相連,,當TLl6C550C的片選信號CSO,,CSl為高電平,為低電平時,,TLl6C550B即被選中,。CS0,CSl直接與高電平相連,。則與CPLD的I/0相連,,如此便實現(xiàn)了以CPLD來實現(xiàn)TLl6C550C的選通。