二、PIC系列单片机有什么优势?
自从我95年接触PIC单片机以来,便一直热衷于这种单片机的开发与应用。有不少朋友问我:PIC到底有什么优势?也许你也会有这样的疑问,所以我在这里略谈几点自己的看法。
1) PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机.
该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在3-6元人人民币。这样一款单片机在象摩托车点火器这样的应用无疑是非常适合。PIC的高档型号,如PIC16C74(尚不是最高档型号)有40个引脚,其内部资源为ROM共4K、192字节RAM、8路A/D、3个8位定时器、2个CCP模块、三个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其它品牌的高档型号媲美。
2) 精简指令使其执行效率大为提高。PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。
3) 产品上市零等待(Zero time to market)。采用PIC的低价OTP型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。
4) PIC有优越开发环境。OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。
5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。
6) 彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。
7) 自带看门狗定时器,可以用来提高程序运行的可靠性。
8) 睡眠和低功耗模式。虽然PIC在这方面已不能与新型的TI-MSP430相比,但在大多数应用场合还是能满足需要的。
PIC单片机的型号繁多,对初学者来说实在不好应付,容易混淆,以下作一简单分类,希望有助于初学者学习:初档8位单片机:PIC12C5XXX/16C5X系列
PIC16C5X系列是最早在市场上得到发展的系列,因其价格较低,且有较完善的开发手段,因此在国内应用最为广泛;而PIC12C5XX是世界第一个八脚低价位单片机可用于简单的智能控制等一些对单片机体积要求较高的地方,前景十分广阔。
中档8位单片机:PIC12C6XX/PIC16CXXX系列
PIC中档产品是Microchip近年来重点发展的系列产品,品种最为丰富,其性能比低档产品有所提高,增加了中断功能,指令周期可达到200ns,带A/D,内部E2PROM数据存储器,双时钟工作,比较输出,捕捉输入,PWM输出,I2C和SPI接口,异步串行通讯(USART),模拟电压比较器及LCD驱动等等,其封装从8脚到68脚,可用于高、中、低档的电子产品设计中,价格适中,广泛应用在各类电子产品中。
高档8位单片机:PIC17CXX系列
PIC17CXX是适合高级复杂系统开发的系列产品,其性能在中档位单片机的基础上增加了硬件乘法器,指令周期可达成160ns,它是目前世界上8位单片机中性价比最高的机种,可用于高、中档产品的开发,如马达控制
Particle-in-cell(PIC方法,质点网格法)
计算二维非定常可压缩理想流动问题的欧拉-拉格朗日混合方法,简称PIC法,它特别适用于计算具有多种介质和大变形流动的问题。
在流体动力学中,通常可用欧拉和拉格朗日两种不同坐标系来求解流体动力学问题,即所谓欧拉法和拉格朗日法。欧拉法可用于求解流体大畸变问题,但精度不高,而且在各个区域进行物质输运时会产生严重的物质扩散,使界面和自由面的位置不能精确确定。拉格朗日法正好相反,计算精度较高,能精确确定界面和自由面,但不能处理流体大畸变和在各种介质之间有剪切间断的滑移现象。针对这种情况,美国F.H.哈洛等人于1955年成功地把欧拉法和拉格朗日法结合起来,提出了质点网格法。
基本要点 PIC法的基本要点是,把含有多种介质的流动所通过的区域用欧拉法分成有限个网格,每个网格中的每种流体,用一组特定的离散化拉格朗日质点表示。
只包含一种流体质点的格子称为纯单元,两种流体质点同时存在的格子称为混合单元,不存在任何流体质点的格子称为空单元。每个质点具有一定的质量,每个网格单元内的质点数目和质点分布都以流体流动的初始状态为依据,而且这些质点具有一定的速度和能量。计算开始后,质点在欧拉网格之间迁移,表示流体在运动。
在每个时间步长内,计算分两步:第一步用欧拉法计算,即忽略偏微分方程中的输运效应,用差分方法计算由压力分布所引起的欧拉网格上速度(或动量)和能量的变化。若一个网格内含有多种流体,就应按一定的规则把能量的改变量适当分配给不同的质点。第二步是质点迁移计算,它是在第一步的基础上,按一定的加权平均方法计算出每个质点的速度和在时间步长结束时的新位置。一个质点从一个网格迁移到另一个网格,就把所携带的质量以及相应的动量和能量从原来的网格输送到新的网格中去。这一步实质上是对第一步计算中忽略的输运效应计算的补偿。
在具有激波间断的流动中,处理激波间断是一个难题(见激波数值处理)。 PIC法由于有非线性的耗散效应,不仅可以减少差分格式所引起的起伏现象,而且起着类似于人工粘性的作用。因此,PIC法能自动处理流动中的激波间断。但在低速流动和固壁条件的计算中,这个耗散效应很弱,为了使计算稳定,还须引入人工粘性。
PIC17CXX是适合高级复杂系统开发的系列产品,其性能在中档位单片机的基础上增加了硬件乘法器,指令周期可达成160ns,它是目前世界上8位单片机中性价比最高的机种,可用于高、中档产品的开发,如马达控制要得到较好的计算结果,除应考虑满足一定的稳定性条件外,还须考虑每个单元内的质点数目和分布以及它们的内能等。
方法的推广 在PIC法基础上,人们提出了流体网格法(fluid-in-cell method),简称FLIC法。它和PIC法一样采用欧拉网格,不同的只是在第二步计算中不计算质点的迁移,而计算连续流体的迁移,即先算出通过网格边界的质量输送量,得出每个网格的新密度,再算出通过网格的质量所携带的动量和能量的输送量,最后得到每个网格的新速度和能量。FLIC法还有一套局部网格单元的计算格式,能计算一些边界形状比较复杂的问题。
计算二维不可压缩粘性流动的 PIC法后来还发展成为所谓标记网格法(marker-and-cell method),简称MAC法。此法仍然采用欧拉矩形网格单元,对纳维-斯托克斯方程则用差分近似,而把压力和速度分量作为基本未知量。此外,这种方法还在网格中布置适量的标记点,但这种标记点和PIC法中的质点不同,本身并不带有质量。在每一个时间步长上,只用PIC法中确定质点速度的方法来确定每个标记的速度,并在整个计算中跟踪每个标记,以判定网格里有哪种流体存在。 因此MAC法能用于计算多种流体和带有自由面的问题。近年来,在研究爆炸和高速碰撞的现象中还发现介质会经历从固体(弹性、塑性、断裂)到流体的各个阶段,因而在计算时必须考虑固体强度效应,为此在PIC、FLIC和MAC等方法的基础上又导出一种计算流体-弹塑性流动的方法(computational method of hydro-elastic-plastic flow)其中最典型的是HELP编码(HELP code)计算方法。HELP编码包括三个步骤:第一步计算压力效应;第二步计算输运效应;第三步计算应力偏量效应。此外在多种介质界面和自由表面上引入一些没有质量的标记点,用以确定界面和自由面的位置。此外,近年来还广泛采用其他一些类型的欧拉-拉格朗日的混合方法。 最常用的是任意拉格朗日-欧拉方法(Arbitrary lagrangian-Eulerian Method),简称ALE法。它将离散化的方程建立在既非欧拉,又非拉格朗日的任意活动的网格上,以达到不断重分网格,适应大变形计算的目的。
质点网格法以及由它演变出来的其他方法都具有数值模拟的特点。这些方法大都直接来源于对物理问题的描述,受数学方程的约束较小,因此能广泛应用于流体动力学的各个领域,如爆炸、燃烧高速碰撞以及物理-化学流体动力学、液体动力学等方面,甚至还可应用于电流体动力学、磁流体力学和相对论流体力学等方面。但是,对上述的研究还很不够,许多问题还只处于实验阶段。