-
COP_RequestPDO
COP_WritePDO *
COP_WritePDO_S
?? 服务数据对象(SDO)
COP_ReadSDO
COP_WriteSDO
COP_PutSDO
COP_GetSDO
COP_CancelSDO
?? 系统服务
COP_GetEmergencyObj *
COP_GetEmergencyObj_S
COP_CheckSync
COP_GetEvent *
5、LMT服务
COP_LMT_ConfigNode
COP_LMT_GetAddress
2. 主节点程序设计
在进行主节点程序设计时以CANopen从节点为参考,主节点的波特率、节点号、节点守卫参数、PDO的数据位以及各通信对象的COB-ID等均参照从节点的参数设计。
CANopen Master API for Windows程序设计可使用下列语言(并含有实例):
1.C++ Builder
2.Delphi
3.VB
4.VC++
-
Windows应用程序和CANopen网络之间进程数据的交换以PDO发送和PDO接收队列的方式进行。
另外,还有三个接收队列分别用于Windows应用程序对紧急对象、网络事件和同步对象的接收。一个Callback或Windows-message ID被分配给每隔队列,这样,当收到相应的CANopen报文时,客户机应用程序就会直接调用一个函数或者一个Windows报文被发送至应用程序窗口。
1.3 CANopen Master API函数类别
CANopen Master API的函数可以分为如下类别(标有*号的为主节点程序设计时用到的函数):
1、基本API函数
此类函数用于初始化并参数化API,选择CAN-board及在CAN-board上与Master固件通信。
?? 选择CAN-board
COP_InitBoard *
COP_ReleaseBoard *
COP_GetBoardInfo *
?? 初始化并参数化API
COP_InitInterface *
COP_DefineCallbacks
COP_DefineEventMsgs
COP_ResetDLL
?? 与Master固件通信
COP_SendMsg
COP_GetMsg
COP_SetCommTimeOut
COP_GetStatus *
COP_TestCommand
2、网络管理函数
此类函数用于建立网络并控制CANopen节点。
-
?? 建立CANopen网络
COP_AddNode *
COP_DeleteNode
COP_SearchNode *
COP_ChangeNodeParameter
?? 控制CANopen节点
COP_StartNode *
COP_StopNode *
COP_ResetComm
COP_ResetNode
COP_EnterPreOperational *
3、CANopen对象管理
此类函数用于创建并参数化CANopen通信对象。
?? 进程数据对象(PDO)
COP_CreatePDO *
?? 服务数据对象(SDO)
COP_CreateSDO *
COP_SetSDOTimeout
?? 系统服务
COP_DefSyncObj
COP_EnableSync *
COP_DisableSync *
COP_InitTimeStampObj
COP_StartStopTSObj
4、CANopen通信
用于独立CANopen设备间的直接信息交换。
?? 进程数据对象(PDO)
COP_ReadPDO *
COP_ReadPDO_S
-
1.2 CANopen Master API的实现原理
CANopen Master API为CANopen网络管理和CANopen对象通信提供了相关的函数。CANopen Master API DLL将固件下载至board的非易失性存储器中,并建立用于编辑队列中数据的队列和句柄(handle)。
CANopen Master固件可独立运行于CAN-board(USB-to-CAN)上。上层与固件通信时使用2个命令队列(CMD-queues),与网络通信时使用7个数据队列(data queues)。
在board上与CANopen Master固件相关的命令都通过两个命令队列传送。通信对象和紧急对象的交换则通过7个数据队列更快速的实现。见图1.2.1:
图1.2.1 Master API DLL与Master固件间的通信
固件经命令队列被配置并参数化为会话状态。CANopen Master API的所有函数在DLL被编辑为操作结构,然后传送至固件并被处理。
通过两个SDO队列可以对外部CANopen设备进行配置。可利用API函数进行异步SDO传输(非模块化Windows应用程序)及同步SDO传输(模块化Windows应用程序)。 ____________________________________________________________________________________________
-
-
-
-
-
看清楚些走线,一面发单层显示的图
Top:
-
CPU为S3C2410A位于板子中间(主频200MHz,外接16MHz晶振),CPU下面为NAND Flash,右边和右下面为SDRAM;上面为10M以太网控制芯片,其左边为网络变压器和RJ45座,右边74系列逻辑芯片;板子左上方为5V电源输入与LDO;JTAG接口在板子右下方,其上面为DB9和232接口,旁边是一几个LED和按键,复位按钮板子在右上方。上下两个长条是连接底板的,上边那条主要有比较关键的LCD信号线,下边有地址、数据线及SD卡信号线。该板插在底板的左上方(接口正好在整个大板的旁边),也可单独工作。
-
数据线和地址线(特别是DDR)等长,难道数据线和地址线也是差分信号?
现在时钟线也要等长?reille 兄(或其它兄弟)能否给俺们介绍一下原理
-
把铺铜掩藏后
-
Mid2
-
Bottom
-
看清楚些走线,一面发单层显示的图
-
Mid1
-
数据线和地址线(特别是DDR)等长,难道数据线和地址线也是差分信号?
现在时钟线也要等长?reille 兄(或其它兄弟)能否给俺们介绍一下原理
-
把铺铜掩藏后