首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

串口问题解答![转帖]

串口问题解答![转帖]

本人正在使用‘542的BUFFER串口,手册上只有2K BUFFER内的地址设置, 不知道这2K BUFFER是否可以在程序存贮区中任意指定?请赐教。

’54X的BPS的ARR和AXR都是11位,其基地址可以查看相应DSP的DATA SHEET。 例如:‘542占用0800H-0FFFH,C548占用0800H-0FFFH以及1800H-1FFFH

一般DSP串口的工作频率能不能达到其CPU的工作频率? 比如,40M的DSP,它的串口能接40M b/s的数据流吗?

我用5402时,用内部的时钟作为串行时钟输出,我测得的频率达到100MHZ, 但我并没有这样用过,我用的是外部的时钟,接ST-BUS,较慢。

不可能。
串口速度由其时钟决定

公式:

f(pulse mode)=f(timer clock)/period register
f(clock mode)=f/(2*period register)

如果是内部时钟 f(max timer clock)=f(H1)/2
如果是外部时钟 f(max timer clock)=f(H1)/2.6


注意:
f(H1)并不是C3x外接的时钟频率,而是C3x的内部分频后的,c3x好象是二分频

mcbsp的个寄存器的sub address是什么意思?比如RCR10的地址是39H,SUB ADDRESS是02,是说地址是3902H呢?还是说把0002写到0038H,SPSA0,则0039H的SPSD0对应的就是RCR10的值,还请大虾指教!

应该是先把把0002写到0038H(SPSA0),则0039H的SPSD0对应的就是RCR10的值,

449 5402的mcbsp能否通过232与主机通讯?

我的理解(没试过,不一定对)是不需加什么板卡,但好像得有电平转换吧?MCBSP可以模拟异步232串口,在这份文档里有:spra661

下述寄存器的初值k_spcr1_rs, k_spcr2_rs, K_RCR1, K_RCR2, K_XCR1, K_XCR2, K_PCR, K_SRGRX1, K_SRGRX2具体为何值? 串口初始化完成后,如何发送,接收数据,如何触发中断?具体给出一段例程.谢谢!

根据具体要求确定串口那些寄存器的值。比如:时钟和帧信号是进还是出,信号的极性, 数据格式是多帧方式还是自动缓冲方式,等等。其中的#K_SPRC_RS是一个值,该值中的某个bit位对应SPRC寄存器的复位位,通常在初始化时要先复位,再修改。对于中断,可考虑直接触发中断,但更常见的是用MCBSP口产生的事件去触发DMA,再由DMA去触发中断。

用mcbsp作数据发送,给dxr1赋要传送的数据之前,我想检验xrdy是否为1,也就是是否可以给dxr1赋值了,由于xrdy是spcr2寄存器的第1位,因此我需要先读取spcr2的值,请问该用何种指令?
stm #spcr2,spsa0
这里该如何读取spsd0的值?

不能直接使用SPCR2,得先将#1写入SPSA0,选择SPCR2,然后就可以使用LDM 39H,A或将DP=0,使用ORM,BITF,CMPM,等判断。

pc和F240串口通讯,时通时不通?作何解释?

看看波特率设置对不对,我自己板子上的UART工作得很好。

McBSP当作普通同步串口用是否要注意什么问题?

设置与原来的串口基本一致,主要注意:
1)帧同步信号,时针信号是输入还是输出?
2)一个帧(FRAME)中是双相(DUAL PHASE) 还是单相(SINGLE PHASE)?
3)一个帧中的字长和每个字的比特数
4)中断产生的方式?
其它设置使用缺省设置就可以了.给你一个参考: 发送设置
SPCR1 = 0x0001
SPCR2 = 0x0030 Transmitter reset, transmit interrupt (XINT to CPU) generated by XSYNCERR;
receiver is running with RINT driven by RRDY. FRST & GRST =0
PCR = 0x0A00 FSX determined by FSGM in SRGR, transmit clock driven by external source,
receive clock continues to be driven by external source !!
SRGR1 = 0x0001
SRGR2 = 0x2000 CPU clock drives the sample rate generator clock (CLKG) after a divide-by-2.
A DXR[1,2]-to-XSR[1,2] copy generates the transmit frame-sync signal.
XCR1 = 0x0840
XCR2= 0x8421 Dual-phase frame; phase 1 has eight 16-bit words; phase 2 has four 12-bit words,
and 1-bit data delay
SPCR2 = 0x0031 Transmitter taken out of reset

[此贴子已经被作者于2005-12-27 13:58:10编辑过]

返回列表