实现成本效益
当你试图把新旧系统连接起来时,成本效益是什么?即软件必须是互补的而硬件成本应尽量低。因此,强烈建议采用不花成本但仍然具有鲁棒性且可定制的软件方案。
现成的操作系统和协议栈可以简化这一工作。与从头开发自己的任务调度器、以太网TCP/IP协议栈或应用相比,添加、修改或删除软件模块所花的力气要小得多。目前,你可以找到各种各样的免授权和开源协议栈及操作系统。但选择的时候仍需明智,因为它们与硬件和所能获得的支持息息相关。
你可能有能够满足串口转以太网桥接功能的应用。但如果所选处理器件(微处理器或微控制器)功能超过了性能要求,则成本就可能过高。而如果所选器件的性能不够,那么最终产品的功能将满足不了应用需求。
微处理器可以轻松完成这个任务。但微控制器已经发展到可以运行操作系统且能以低得多的成本提供以太网连接这样一个阶段。采用一款带有小容量SRAM和闪存的低端32位微控制器可以轻松实现一个串口转以太网的桥接设计。
使设计和定制更容易
即使你已经找到了具有所需性能和外设以及足够的SRAM和闪存以运行简化的操作系统和基本以太网协议栈的具有成本效益的微控制器,你仍需把这些软件和硬件模块整合在一起。工程时间会影响系统成本,那么,该如何简化开发工作呢?
建议采用分层软件架构。可以把所有不同模块整合在一起创建一个可组织开发进程的软件环境。这会直接影响工程进度以及后继对串口转以太网桥的定制。
这种分层软件模型基于把几个主要软件模块分成不同层以及从本质上对所用的硬件实施抽象。硬件抽象层(HAL)被定义为:通过HAL/HW接口直接访问硬件资源的软件组件集,它们包括外设、配置寄存器,优化的汇编器程序(带合适的原型)、预编译的目标代码库或任何其它硬件相关资源。
这样,若以后需对软件设计进行修改,就可将其移植到更高端的微控制器和不同的硬件平台。软件可容易地“进化”,并且当新增外设甚至改变协议和硬件时可以平稳过渡,从而使更多软件可复用于未来改善的设计。
集成
图1详解了一个典型的分层软件架构。应用软件工作在操作系统(FreeRTOS)下,它处理以太网协议栈(LwIP)和微控制器外设(见下表)。硬件包括飞思卡尔的32位MCF51CN128微控制器,所需外部元件极少。