摘要: 转自:http://hi.baidu.com/liang888%BA%C3/blog/item/38ad3351defc6711377abec2.html起始位:先发出一个逻辑”0”信号,表示传输字符的开始。资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。波特率:是衡量资料传 阅读全文
posted @ 2011-07-17 17:23 elar 阅读(7067) 评论(0) 推荐(1)
摘要: 可选的输入时钟频率:可选的波特率可选的字长可选的数据位可选的停止位可选的校验方式FIFO控制方式LOOPBACK控制 阅读全文
posted @ 2011-07-16 16:36 elar 阅读(579) 评论(0) 推荐(0)
摘要: 分频数锁存寄存器(URDLM和URDLL) URRBR, URTHR和URDLL 共享同一个地址。当URLCR寄存器的DLAB位为1时,所有对该共享地址的访问均访问的是URDLL;当URLCR寄存器的DLAB位为0时,对该共享地址的读操作将访问的是URRBR(receiver buffer register),对该共享地址的写操作访问的将是URTHR(transmitter holding register)。 URIER和URDLM共享同一个地址。当URLCR寄存器的DLAB位为1时,所有对该共享地址的访问均访问的是URDLM;当URLCR寄存器的DLAB位为0时,所有对该共享地址的访问均访 阅读全文
posted @ 2011-07-16 12:33 elar 阅读(1738) 评论(0) 推荐(0)
摘要: Reset UART有两种方法:UART Reset。往电源和仿真控制寄存器(power and emulation control register,URPECR)的UART reset 位(URST)写入0。这一操作将重置UART的状态机(UART state machine),但是不会影响UART的寄存器。DSP Reset。将DSP的RESET#管脚拉低,整个DSP都将reset,并且在RESET#管脚升高之前一直保持在reset的状态上。作为DSP的一部分,UART的状态机也将RESET,并且UART的寄存器将会恢复到默认的初始状态。UART寄存器和TX信号的默认值如下:备注:UAR 阅读全文
posted @ 2011-07-16 12:05 elar 阅读(861) 评论(0) 推荐(0)
摘要: UART支持非侵入性的仿真访问(non-intrusive emulator access),即仿真器可以访问UART但是不能改变UART任何寄存器的值。仿真控制寄存器emulation control register (URPECR)仿真控制寄存器的FREE位决定了在仿真环境下,UART如何对仿真操作进行相应。如果FREE位为0,并且UART正在进行数据传输,则UART将会在一个字传输完毕后停止;如果FREE位为0,并且UART没有在传输数据,则UART马上停止;如果FREE位为1,则UART不会停止。分频数锁存寄存器(URDLM和URDLL) URRBR, URTHR和URDLL 共享同 阅读全文
posted @ 2011-07-16 11:46 elar 阅读(1477) 评论(1) 推荐(0)
摘要: UART的时钟发生器概念示意图:DSP的时钟发生器接收一个外部的时钟源信号,并且产生一个可以使用编程来定义的UART输入时钟。(可定义的UART输入时钟有20MHz、40MHz、60MHz、80MHz、100MHz、120MHz、140MHz)UART拥有一个可编程的波特率发生器,该发生器将一个输入时钟除以一个1~2^16-1之间的数(该数成为分频数,即divisor)用以产生一个波特时钟(baud clock,BCLK)。波特时钟(baud clock)是波特率的16倍,即是说,没接收或发送一个bit时,该数据维持16个波特时钟周期(Baud clock cycle,BCLK cycle)。 阅读全文
posted @ 2011-07-16 11:23 elar 阅读(3027) 评论(0) 推荐(0)
摘要: 由于要使用5502的UART口与FT2232H的UART口进行通信,因此先用CSL对UART口进行编程测试。在测试过程中发现,5502的UART口可以与FT2232H的UART连接上,但是FT2232H收到的数据全是乱码。代码如下:View Code #include <stdio.h>#include <csl.h>#include <csl_uart.h>#include <csl_irq.h>#define LEN 4;UART_Setup Params = { UART_CLK_INPUT_20, UART_BAUD_9600, UART 阅读全文
posted @ 2011-07-15 13:25 elar 阅读(1303) 评论(1) 推荐(0)
摘要: 这两天遇到一个奇怪的问题在CSL的API中,明明提到XBSR又SP2这个寄存器,查看5502 datasheet也可以找到这一证据。但是使用CHIP_FSET(XBSR,SP2,0);语句进行XBSR的SP2位设置的时候,在编译时出现如下错误提示:"uart_test.c", line 37: error: identifier "_CHIP_XBSR_SP2_CLR" is undefined"uart_test.c", line 37: warning: function declared implicitly去掉仿真器,尝试使用 阅读全文
posted @ 2011-07-14 16:20 elar 阅读(1848) 评论(0) 推荐(0)
摘要: 今天上午到实验室,由于当当网一直上不去,觉得应该清理一下缓存,然后就用360清理了一下系统。这一清理坏了。XDS560仿真器连不上了。orz……用驱动安装软件repair了一下还是不行,点开设备管理一看,哎,注册表内容被删了,悲剧ing……设备状态提示:“由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码 19)”重装一下驱动试试。以后硬件调试的项目过程中还是少动系统比较好……--------------从设备处卸载驱动,并重新安装后,计算机可以识别仿真器(仿真器上的黄色叹号消失)。但是打开CCS 3.3时,依旧提示无法连接仿真器XDS560。提示的信息 阅读全文
posted @ 2011-07-14 14:37 elar 阅读(9271) 评论(15) 推荐(2)
摘要: 全称:External Bus Selection RegisterLayout:域定义:CLKOUT, OSCDIS, EMIFX2, SP2, SP1, PP读写方法:(a) Macros to read/write CHIP register valuesCHIP_RGET() Uint16 CHIP_RGET(REG)CHIP_RSET() void CHIP_RSET(REG, Uint16 regval)(b) Macros to read/write CHIP register field values (Applicable only to registers with mor 阅读全文
posted @ 2011-07-13 15:45 elar 阅读(1479) 评论(0) 推荐(0)