目前,采用NXP固件库讲解LPC17XX的书籍比较少。本书采用NXP标准固件库讲解了Cortex-M3 内核的LPC17XX,并采用原理与实例结合的方式进行讲解。读者既可以在实际使用中直接采用固件库方式,也可以根据固件库的设计思想直接操作寄存器。
本书在讲解LPC17XX原理时穿插了NXP公司的固件库(NXP在Arm公司提出的CMSIS标准基础上,实现的一套标准固件库)的讲解。读者不仅可以根据NXP公司的固件库熟悉LPC17XX的原理,而且可以通过实例熟练掌握NXP公司的固件库。读者会发现将NXP公司的固件库应用到产品设计中可避免多人(次)书写驱动程序及个人对原理理解得不是非常完善而导致驱动程序设计不合理的现象发生,并且可以加快产品的开发进度,避免将过多时间与精力浪费在底层设计上。目前,NXP公司的固件库版本拥有大量的客户群体,已经被许多的实时操作系统厂家使用,极大地减少了软件厂家自己开发BSP的工作量。
本书是作者根据多年在自动化控制领域的项目经验,采用讲解原理时结合多个实际应用的方式编写而成的。本书的最后两章给出了两个实例设计,属于工业现场应用比较广泛的两个实例。其中基于Modbus协议的开关量是用途非常广泛的一款工业产品,读者可以直接使用该案例。
全书共分为 15 章。其中第 1~3 章是基础知识;第 4~13 章是外设功能讲解;第 14~15 章是综合实例。
第 1 章主要讲解了Cortex-M3 的基础与特征,主要包括寄存器、存储器映射、系统总线、存储器保护单元、嵌套中断控制器,是进行LPC17XX开发工作的理论基础。
第 2 章主要讲解了LPC17XX在硬件方面的基础工作,这是理解该芯片的基础,主要包括时钟、功率控制、引脚。
第 3 章介绍了进行LPC17XX软件开发的准备工作,主要包括编译环境准备、烧写程序、ARM公司的CMSIS标准,以及NXP公司的固件库标准。其中CMSIS标准是理解目前ARM对软件组织结构及系统启动文件的规范,也是目前所有Cortex-M3 内核CPU软件的设计要求与基础。
第 4~13 章讲解了LPC17XX的系统定时器、GPIO、NVIC、UART、I 2 C、SPI、ADC、DAC、PWM、定时器。其中每一章均提供了 1~2 个实际项目中的使用实例,并给出了芯片在实际工作中的注意事项及技巧(也可以说是作者的经验教训)。
第 14 章与第 15 章是综合实例,分别讲解了用途比较广泛的温控箱设计与Modbus开关量设备。这两个实例都可以进行大量的扩展应用。
第 14 章中介绍的温控箱实例在家用面包机、加热器中经常使用。在一些温度控制精度及控制速度要求较为严格的场合,如工业加热炉的加热,以及医疗中的细菌培养,药品、试剂的储存,疫苗、血液的冷藏和保温,透析液的加温都属于温控箱实例。读者可将本章的实例加以改进以用于这类场合。读者可以根据本章介绍的反馈控制的原理,熟悉如何从被控对象进行信号检测,控制器如何通过控制参数设定及驱动相应的执行机构进行控制的过程。
第 15 章中的Modbus的开关量在实际项目工程应用中属于用量比较大的产品,可以用来控制电信电力机房监控、安防系统、智能楼宇自控系统、工业集散分布系统、POS系统、银行自助系统、门禁考勤系统、环境检测系统、道路监控系统等。本书对该功能的硬件电路和软件实现进行了详细描述。
本书由笔者独立编著而成,工作量很大,在这期间,离不开我的家人在背后的支持。我在写书过程中没有很好地照顾好我的女儿,我对此心怀歉意。同时,我要感谢我的丈夫为书中的代码提供了验证工作,感谢大连医科大学对本书的支持。
本书在写作过程中参考了嵌入式领域前辈、同行的一些经验与心得,并有所引用,在此表示感谢。
本书的写作过程还得到了王敬栋、谭丽莎两位编辑的大力支持,在此表示感谢。
为了方便读者学习,本书提供书中的所有程序代码,请有需要的读者登录华信教育资源网(http://www.hxedu.com.cn)免费注册后进行下载,有问题时请在网站留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。
鉴于作者的水平有限,书中难免存在错误和不当之处,恳请读者批评和指正。
张燕妮
2013 年 7 月于大连