实现FreeModbus协议所需要的软/硬件需求

实现FreeModbus协议所需要的软/硬件需求

The hardware requirements are minimal - Any reasonable microcontroller with a serial interface, at least some RAM to hold the modbus frames should suffice.
A UART which support and interrupts and has at least an receiver buffer full and transmit buffer empty interrupt.
A timer capable of creating the t3.5 character timeout timer for Modbus RTU.

实现Modbus协议对硬件的需求是极其少的-任何一个具有串行接口和一定量的能够处理modbus数据帧的RAM就足够了。
一个支持中断的异步串行接口,该中断至少包括接收缓冲区满中断和发送寄存器空中断
一个定时器,用以产生Modbus的RTU模式所需要的T3.5个字符的超时时间

For the software part a simple event queue is necessary. The STR71X/FreeRTOS port uses FreeRTOS queues for this purpose to reduce the time spent in the Modbus task. Smaller microcontrollers will most likely come without an operating system. In that case a simple implementation with a global variable is possible (The Atmel AVR port uses such an implementation).

对于软件部分而言,实现Modbus仅仅需要一个简单的事件队列。在STR71X/FreeRTOS 的移植中,使用了FreeRTOS的队列来实现了该事件队列以降低处理Modbus任务时的时间消耗。较小的微控制器往往不使用实时内核,在这种情况下,可以通过全局变量的使用来实现这个事件队列(Atmel的AVR控制器的移植中使用了该方法)。

The actual memory requirements depend on the used modules. The first table shows the required memory with all supported functions compiled in. Values for the ARM where obtained using the GNUARM compiler collection 3.4.4 with -O1 in ARM mode. The AVR values where obtained using the WinAVR compiler collection 3.4.5 with -Os.

实际的内存需求量决定于使用的模块的多少。第一个表列出了所有功能模块所需要的内存量。对应ARM来讲,内存量的获取是通过使用GNUARM编译器在使用-O1命令下统计得来的。AVR所需要得内存量是通过WINAVR编译器在使用-Os命令下统计得来得。Module ARM Code ARM RAM (static) AVR Code AVR RAM (static)
Modbus RTU (Required) 1132Byte 272Byte 1456Byte 266Byte
Modbus ASCII (Optional) 1612Byte 28Byte 1222Byte 16Byte
Modbus Functions [1] 1180Byte 34Byte 1602Byte 34Byte
Modbus Core (Required) 924Byte 180Byte 608Byte 75Byte
Porting Layer (Required [2]) 1756Byte 16Byte 704Byte 7Byte
Totals 7304Byte 530Byte 5592Byte 398Byte

[1]: Actual size depends on the available Modbus functions. They are configurable in the header file mbconfig.h.
[2]: Depends on the hardware.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值