导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[liufengzhong][转帖]XS1_TIMER_MHZ值



No.108153
作者:liufengzhong
邮件:l_fz@sina.com
ID:149522
登陆:12次
文章数:695篇
最后登陆IP:183.13.93.245
最后登陆:2015/6/16 17:02:27
注册:2014/7/29 21:51:15
财富:3671
发帖时间:2014/8/8 15:34:30
发贴者IP:111.221.200.181
标题:liufengzhong:[转帖]XS1_TIMER_MHZ值
摘要:No.108153[转帖]XS1_TIMER_MHZ值 我一直在工作的一些代码使用startKIT MIDI接口,并遵循所有相关的串行接口的文档。所有这些是不工作的,所以我想简单的UART的例子,首先是back2back例子。这个工作是连续的,但没有独立的。

看着与存储“的范围传输的数据,我终于发现,数据率为20%左右速度太快,并在工作界面纠正这结果。

应该采取什么XS1_TIMER_MHZ变量,当它返回的值为100?如果它的定义是错的,这样我可以改正它,因为我会写一个运行在固定采样率的代码,我想确保我的代码将运行在预期的硬件目标而无需修改。


回答:

嗨。XMOS默认的参考时钟为100MHz,但也基于供给到组件和PLL设置的外部时钟源。500 MHz的版本能够在这个时钟推高至125 MHz的正确设置。注意到这些值,你的MIDI通信关闭的原因很可能是参考时钟没有提供正确的解决方案要准确命中31250个基点。我的建议是审查在GitHub上的multi_uart代码,提供的1.8432Mhz(在8 UART xslice kie中提供),但另外一个外部时钟源成一个自由的GPIO引脚。UART的代码,然后使用这个产业STD时钟源帧的PC标准波特率(即115.2,57.6K等)。然后再次的1.8432Mhz这个值可能是不是MIDI使用的最合适的选择。从网上,似乎对你的项目的最佳选择为3Mhz。所以,如果你提供3.3伏的CMOS外部时钟源@ 3Mhz(50ppm或更高),成GPIO引脚+使用GitHub上发布代码,你应该完美的打击你的MIDI速度。
出于某些原因,无法粘贴一些参考上述资料。这种反馈是读了关于这个主题的悬而未决的项目只有那么请你为你的检讨是相同的。一定要更改代码,以反映GPIO引脚用于外部时钟源。总结是,使用外部时钟源,你应该能够帧字面上任何波特率(您XMOS的速度范围内),这使得这个非常非常灵活。如果你想获得真正淫,可以考虑应用一个外部I2C锁相环(见SILABS或类似),我们正在申请到我们的项目中。确认使用固定3 MHz的时钟源后,会推荐这样做。
  <更新的一种改进的时钟值>  
很抱歉,做了一些计算,得出的结论是3 MHz时为外部时钟源的明智值。计算方法如下:
19200 / 1.8432 = X / 3.00; 计算对于x
也就是说,3.00 MHz的外部时钟源,当您使用UART时钟和拨号19.2K的API中,硬件将帧@ 31250个基点。如果你选择使用2.00Mhz,那么你必须选择28800 bps的API中的我不知道在这个时候如果UART代码支持。由于这个原因,考虑到使用3Mhz。


回复:


感谢您的建议,但将MIDI规范的编写,生成从1MHz的参考(实际上500KHz的/ 16)的时钟,所以在定时器的10ns的分辨率应该是足够接近的.....给一点额外的信息,如我设置一个端口为高(或低)为10ns的'罪名'一个具体的数字我觉得输出设置大致为8ns的倍数。这表明,在定时器的时钟频率为100MHz时比(它是一个精确度的问题,不分辨率)的东西等。
所以,使用默认的环境为s ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:8312毫秒 查询6次