随着半导体的进步与IC设计产业的蓬勃发展,越来越多的CPU整合了各式各样的功能。有些CPU就是一个具体而为的系统,CPU里面甚至有ROM和RAM,几乎只要供给电源就可以独立运行,这种高度整合的CPU简化了硬件设计的复杂性,同样也让软件工程师很少在完全不稳定的平台上开发。
不同的CPU有不同的内部装置,要从何说起呢?有些装置因为太常用了,从前都需要外接IC才有的功能现在几乎变成了CPU的基本功能,我们就从这些功能说起吧。
1;A/D port
基本上CPU是数字系统,所有的资料都必须由不是0就是1的bit所组成。但真实世界的状态通常是连续(或说模拟)的。例如温度,使用者施加的压力,电压等,要把这些真实世界的状态输入到CPU中势必要经过转换,这样的过程我们称为analog to digital,CPU负责接收模拟信号的PIN引脚称为A/D port
2;timer
CPU必须有稳定的clock 输入才可运行,CPU将输入的clock升频或降频后提供给CPU内部各单元,或者输出到其他的外部设备,使其时序可以与CPU同步。应用这个clock ,CPU可以轻易地提供计时或闹铃的功能,我们称为timer。CPU内可以提供多个可独立运作的timer,每一个timer都会有其相应的中断号码,通过memory mapping register,来控制timer.
3;RTC
h上述的timer用做较精准的计时,RTC也是一种timer,但是它的精度比较粗,通常是百分之一秒的的等级,程序可以将其调整到每隔一秒甚至一分钟才产生中断,此来可以轻易达成时钟或日历的功能。
4;DMA
DMA允许某些外部装置可以独立地对系统内存进行读取或写入,而不需牵涉CPU,
5;其他内建军chip
目前业界CPU内部功能整合度之高已超乎想象,有些几乎是为特定产品量身定制,产品开发商用了这种CPU,软硬件都不需要太大的effort ,就能整合出完整的产品来,此来不但缩研发时间与经费,还可以加速产品上市的进度
有些人认为拿厂商的sample code来改好像没什么技术,事实上这才是最聪明的做法,我们不可能花太多的时间在一个CPU或IC上谁知道以后还会不会用到他?重要的观念,观念不对,就算有sample code你也无法将其移植到自己的板子上,观念对的话,不管什么CPU或IC都难不倒你,这就是所谓的“一法通,万法通”。 |