微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 牛人工程师与PIC32一个月发生的研发故事

牛人工程师与PIC32一个月发生的研发故事

时间:11-05 来源:Microchip 点击:

h库来设置参数是轻而易举的事情。

  是我开始尝试移植第12章中代码的时候了:"黑屏"确实是一件有趣的事情。用PIC24,我能够演示SPI端口是如何的简单,只需要三只电阻器,几个中断,以及一些创新就可以产生一个复合视频信号,特别是可以将任意的电视机转换成单色显示器。要产生一个视频信号,需要中断代码与外设之间的精密协调。实际上,因为即便是在输出定时上只差一个时钟周期,在显示器屏幕的左侧就会产生可见的抖动(所有的竖直线都变得像锯齿一样),故训练结果将是用于中断"决策"的一个理想放大镜,这是PIC架构传统上一直出众的特性。然而不幸的是,根据定义,指令预取和存储器缓存机制都是非确定的。

  经过一段苦思冥想,我最终明白了。我在试图做不应该做的事情!32位内核是为了提高性能而设计的。其使命是C代码的运行尽可能地快,而把实时严格的工作留给外设。特别是,DMA外设是一个非常好的工具。

  最终,我想出了如何利用定时器直接产生复合视频信号,并将DMA数据传输同步到SPI端口的方法。这种新方案提供了确定性的定时,而且还将CPU的开销减少了大约25%到5%。几个小时工作后,我完成了2D和3D视频演示并运行,还加上了动画,从高清显示一直到单显VGA(实例见图3和图4)。

  

  图3:用PIC32所产生的3D图形。

  

  图4:用PIC32所产生的不规则几何图形。

  开发PIC32很快变成一件令人上瘾的事情,结果是很好的回报,那就是让我完成了一本有关32位器件新书的写作之旅!PIC32与早先的16-bit PIC24微控制器的兼容性是那样的无缝。这款新的MIPS内核的速度和性能给我留下了深刻的印象,大大扩展了任何先前的PIC MCU都无法实现的应用范围。

  

  表1:PIC24F AD1CON寄存器的并排比较。

  Author:Lucio Di Jasio

  FAE

  Microchip Technology Inc.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top