注册 登录
查看: 1152|回复: 22

山外哥 超频180M后 串口没有数据了

[复制链接]
发表于 2013-5-4 17:24:38 | 显示全部楼层 |阅读模式
山外哥 用的你的50帧稳定版的程序  想超频到180M  结果180M的时候 串口就不传数据了 山外哥 照着你的那本《三天入门Cortex-M4》修改 是不是只需要在K60_fire.h里面修改#define  MCG_CLK_MHZ  PLL150  改成PLL180?150的时候可以正常看到图像 180的时候就没有了 上位机也接不到数据 超到180 串口模块需要修改吗
回复

使用道具 举报

发表于 2013-5-4 19:04:49 | 显示全部楼层
你好,用的是 UART 几?  bus 时钟是多少?
回复 支持 反对

使用道具 举报

发表于 2013-5-4 19:04:59 | 显示全部楼层
另外,波特率是多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:18:55 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 19:04
你好,用的是 UART 几?  bus 时钟是多少?

用的UART1  把程序中的printf也改成了UART1 用的是PTE0  PTE1引脚 我直接改了PLL180 没有调用pll_init函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:19:13 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 19:04
另外,波特率是多少?

波特率用的是19200
回复 支持 反对

使用道具 举报

发表于 2013-5-4 23:21:14 | 显示全部楼层
darksnipers 发表于 2013-5-4 23:18
用的UART1  把程序中的printf也改成了UART1 用的是PTE0  PTE1引脚 我直接改了PLL180 没有调用pll_init函数 ...

好的,明天我测试后再回复你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:22:03 | 显示全部楼层
darksnipers 发表于 2013-5-4 23:18
用的UART1  把程序中的printf也改成了UART1 用的是PTE0  PTE1引脚 我直接改了PLL180 没有调用pll_init函数 ...

bus  是75M
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:23:15 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 19:04
你好,用的是 UART 几?  bus 时钟是多少?

bus 还是按程序里面的 75M  没改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:24:54 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 19:04
你好,用的是 UART 几?  bus 时钟是多少?

原来 我就试过  您提供的程序  图像采集120*160  我用19200的波特率 传输太慢  然后提高波特率以后 串口助手就接收不到了
回复 支持 反对

使用道具 举报

发表于 2013-5-4 23:33:21 | 显示全部楼层
darksnipers 发表于 2013-5-4 23:24
原来 我就试过  您提供的程序  图像采集120*160  我用19200的波特率 传输太慢  然后提高波特率以后 串口助 ...

用 USB 转串口 吗?有些USB 转串口线质量比较很差,波特率一高,就传输失败
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:51:04 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 23:33
用 USB 转串口 吗?有些USB 转串口线质量比较很差,波特率一高,就传输失败

额  是 USB转串口 超频 直接改K60_fire里面的文件 需不需要在主函数里面调用pll_init呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-4 23:51:34 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-4 23:21
好的,明天我测试后再回复你

好的 谢谢您
回复 支持 反对

使用道具 举报

发表于 2013-5-5 09:32:42 | 显示全部楼层
你好,我已经测试过,代码没问题,上位机可正常接收



尝试换一条 USB 转 串口线看看,USB转串口线,不能直接接到MCU上的哦,需要经过MAX3232
或者直接用USB转TTL(看不懂请百度)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-5-5 09:33:38 | 显示全部楼层
darksnipers 发表于 2013-5-4 23:22
bus  是75M

如果 主频 是 180M
bus 设为 75M ,实际上是 60M ,我们的教程里有见,bus 是主频的分频
回复 支持 反对

使用道具 举报

发表于 2013-5-5 15:00:32 | 显示全部楼层
已经测试过,我们这边没问题,请尝试换一条质量好的串口线
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-5 23:08:12 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-5 09:32
你好,我已经测试过,代码没问题,上位机可正常接收

好的 谢谢您 我检查一下我的数据线吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-5 23:09:00 | 显示全部楼层
Admin 发表于 2013-5-5 15:00
已经测试过,我们这边没问题,请尝试换一条质量好的串口线

嗯 好的 谢谢您
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-6 23:14:36 | 显示全部楼层
Admin 发表于 2013-5-5 15:00
已经测试过,我们这边没问题,请尝试换一条质量好的串口线

山外哥,我仔细检查了一下 发现超频180M后  不是串口没有输出 而是图像采集标志始终是IMG_GATHER没有进DMA中断   在150M的时候可以正常采集数据 这是不是硬件问题  我使用杜邦线把单片机和摄像头连在一起的
回复 支持 反对

使用道具 举报

发表于 2013-5-6 23:15:53 | 显示全部楼层
darksnipers 发表于 2013-5-6 23:14
山外哥,我仔细检查了一下 发现超频180M后  不是串口没有输出 而是图像采集标志始终是IMG_GATHER没有进DM ...

DMA 模块在超频超过 150M 下,会不稳定。群共享里有 200M 在debug 模式下可用的代码
回复 支持 反对

使用道具 举报

发表于 2013-5-6 23:23:17 | 显示全部楼层
darksnipers 发表于 2013-5-6 23:14
山外哥,我仔细检查了一下 发现超频180M后  不是串口没有输出 而是图像采集标志始终是IMG_GATHER没有进DM ...

你好,DMA模块超频容易不稳定。

可以尝试DMA 中断服务函数替换为如下(看看效果):
  1. /*************************************************************************
  2. *                             山外嵌入式开发工作室
  3. *
  4. *  函数名称:DMA0_IRQHandler
  5. *  功能说明:DMA0 中断服务函数,采集图像数据完成后触发
  6. *  参数说明:无
  7. *  函数返回:无
  8. *  修改时间:2012-3-19    已测试
  9. *  备    注:
  10. *************************************************************************/
  11. void DMA0_IRQHandler()
  12. {
  13.     volatile u8 i;
  14.     img_flag = IMG_FINISH ;
  15.     //disable_irq(87);                      //场中断开始采集图片时,就关闭了中断,这里就不需要再关闭
  16.     //DMA_DIS(CAMERA_DMA_CH);                    //关闭通道CHn 硬件请求
  17.     DMA_IRQ_CLEAN(CAMERA_DMA_CH);           //清除通道传输中断标志位

  18.     Vnum++;
  19.     i++;
  20.     i++;
  21.     i++;
  22.     i++;                        //延时,避免超频时,DMA不稳定而上访
  23. }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-11 08:57:11 | 显示全部楼层
微粒子 发表于 2013-5-6 23:15
DMA 模块在超频超过 150M 下,会不稳定。群共享里有 200M 在debug 模式下可用的代码

我查看群里的共享 没有找到 是不是删除了 您能给我发一份吗 352232679@qq.com
回复 支持 反对

使用道具 举报

发表于 2013-5-11 09:40:11 | 显示全部楼层
darksnipers 发表于 2013-5-11 08:57
我查看群里的共享 没有找到 是不是删除了 您能给我发一份吗

跟以前的代码是一样的,只不过是DMA中断服务函数,加了延时,请看 20楼 山外哥的回复
回复 支持 反对

使用道具 举报

发表于 2013-5-30 09:42:15 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-11 09:40
跟以前的代码是一样的,只不过是DMA中断服务函数,加了延时,请看 20楼 山外哥的回复

我的也加了延时,但是感觉改PLL100为PLL150之后,PCLK的信号就是错的了,一直进不了DMA中断,还请帮忙找找原因。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部