作者zxvc (zxvc)
站内Electronics
标题Re: 请问RS-232设计的问题
时间Mon Aug 20 12:15:31 2007
解决了,我看这本书找到答案的。
Serial port complete :
programming and circuits for RS-232 and RS-485 links and networks
Jan Axelson.
原来在Sample资料的时後,可以用一个16倍Baud rate的clock去sample,
不要使用Baud rate clock去sample,要不然会有我下面所说的问题。
这个16倍的clock在侦测到Start bit的时後往後数16 clocks
就会跳到第一个data bit。再数8 clocks大约就会到该bit的中间位置,
此位置是sample资料较好的位置。
※ 引述《zxvc (zxvc)》之铭言:
: 我的FPGA板说明书写振荡器是33.3MHz(我怀疑它应该是33,333,333Hz)。
: 我最近要设计从PC经由RS-232传资料到FPGA,我使用9 pin connector。
: 感谢CuckooBoy网友的帮助,让我学到不少东西。
: 我现在有个问题就是因为我的振荡器频率不能被任何的
: 标准的Baud rate整除,例如9600, 14400, ...。
: CuckooBoy网友是建议我把所有的标准Baud rate除33.3MHz,
: 取商最靠近整数的Baud rate,再做除频器(我是设计数位电路)。
: 我後来选定Baud rate = 38400,後来我果然可以传资料到FPGA上了,
: 但是可惜的是我发现仍然有机会收到错误的资料(我是用非同步接收)。
: 我想这是因为PC的Baud rate并不与FPGA的Baud rate完全相同所致,
: 有一点小误差,我自己分析的结果,这是难免会造成的错误,
: 比如,FPGA Baud rate一个clock cycle比PC多1%,
: 只要今天FPGA Baud rate的clock的active edge出现在
: Start bit cycle的92%位置,那麽在sample第10个bit就会sample到错误的值。
: 不知道我的观念有没有误?
: 请问有这方面设计经验的大大要如何解决此问题?
--
往生净土咒:
南无阿弥多婆夜 哆他伽哆夜 哆地夜他 阿弥唎都婆毘 阿弥唎哆
悉耽婆毘 阿弥唎哆 毘迦兰哆 伽弥腻 伽伽那 只多迦隶 莎婆诃
《佛说阿弥陀经》
http://web.cc.ncu.edu.tw/~93501025/amtf.doc
《金刚经》
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.204.3