




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京龙腾蓝天科技有限公司PAGEPAGE2LT5135A系列用户手册版本号:V2.1龙腾蓝天版权所有8-版本修订版本号修订日期描述审核V1.020160907创建文档V1.120171218修改文档V2.020180103修改文档V2.120200522修改文档特别说明 本公司保留在未通知用户的情况下,对产品、文档、服务等内容进行修改、更正等其他一切变更权利。
目录一、产品概述 -3-二、产品特性 -3-1.硬件特性 -3-2.软件特性 -5-三、接口定义 -6-1.电源接口 -6-2.RS485接口 -6-3.RS232、CAN接口 -7-4.开关量输出输入 -7-5.网络接口 -8-6.调试接口 -9-7.RS485/RS232驱动接口 -9-四、驱动实例 -10-一、产品概述LT5135A是一款基于精简指令集(RISC)架构高性能的32位MPU的嵌入式计算机。该CPU是以ARMCortex-A8为核心的系统级单芯片,内置NEON单指令流多数流(SIMD)协处理,带有错误校正码(ECC)的256KBL2缓存,最高支持1GHz的频率。系统提供RS458/RS232通讯,有线网络通讯,CAN总线,同时也提供可选的无线GPRS通讯,具有体积小、功耗低、效率高等特点,适用于电力集中器、HMI、工业控制、网关等场合。二、产品特性1.硬件特性AM335xCPU:32bitARMCortex-A8架构,主频800MHz,1.6MIPS/MHz,最高主频1GHz32KBI-cache,32KBD-cache,NeonSIMD协处理器内存:512MbyteDDR3、64KB专用RAMFLASH:256MbyteNANDFlash,最大支持8Gbyte支持NAND、NOR、SRAM等FLASH加密:支持PRNG/DES/3DES/AES/SHA/HMAC加密,最高256位加密模式看门狗:内置WDT,溢出时间小于60秒,支持空闲唤醒和掉电唤醒RTC:高精度实时时钟,内置供电电池调试口:1路串口为系统console口。波特率:115200,数据位:8,停止位:1,校验位:none,流控:无RS485/RS232:8路独立RS485通讯,内部全隔离保护设计8路RS485/RS232分时复用通讯,可根据实际选择使用,内部全隔离保护设计B码对时:1路RS485接收,专用于B码对时,连接后自动对时CAN:1路CAN通讯,内置隔离保护设计开关量输出输入:2路双刀双掷继电器输出2路开关量输入网络:4路10M/100M自适应工业以太网,标准RJ45接口15KVTVS保护,内部全隔离保护设计无线功能(可选):射频波段800/900/1800/1900MHz(可选2/3/4G)可选WIFI:可连接AP,也可做AP1个SIM卡接口,1个天线接口传输速度:达到相应功能的标准速度SDCARD:内置一个SD/MMC卡接口电源:输入电压:85~265VAC交流、120~370VDC直流单机功耗:<12W机械特性外壳金属材质尺寸:1U防护等级:IP63工作环境工作温度:-40℃~+工作湿度:5%~95%
2.软件特性2.1系统特性LT5135A预装基于TIAM335x的Linux操作系统,版本为3.2.0 LT5135A系统的软件系统共分为3部分,分别为Bootloader、linux内核和rootfs。Bootloader是遵循GPL条款的开放源码项目,UBoot主要是引导内核的启动,支持NFS挂载、NANDFlash启动;linux内核是整个操作系统的最底层,负责整个硬件的驱动,以及提供各种系统所需的核心功能;rootfs是用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法。2.2环境配置编译链下载地址:/s/1nv19D1Z#list/path=%2FWORK%2FCortex-A82.2.1使用本公司提供的虚拟机系统 用户名:work,密码:123456 编译环境:本公司提供的虚拟机系统ubuntu10.04,可直接编译使用 编译命令:arm-linux-gnueabihf-gcc-otargetsource1.csource2.c 编译链:arm-linux-gnueabihf-4.7.tar.gz2.2.2使用其他版本的ubuntu系统如使用ubuntu14.04或者更高版本的64位系统,需要安装32位库。安装命令如下:sudoapt-getinstallia32-libsudoapt-getinstalllib32z1lib32ncurses5lib32bz2-1.0sudoapt-getinstalllib32stdc++6安装完后,在/opt目录下新建目录arm-a8-cross mkdir-p/opt/arm-a8-cross 把编译链拷贝到ubuntu的/opt目录下,解压到刚建立的目录下 tarxzfarm-linux-gnueabihf-4.7.tar.gz-C/opt/arm-a8-cross 添加临时环境变量或者永久环境变量:临时:exportPATH=$PATH:/opt/arm-a8-cross/bin 永久:echoexportPATH=$PATH:/opt/arm-a8-cross/bin>>~/.bashrc 添加完成后,重新打开终端。查看编译链版本 arm-linux-gnueabihf-gcc-v 如图所示为环境搭建完成:编译命令:arm-linux-gnueabihf-gcc-otargetsource1.csource2.c2.3管理机登录调试口登录或者网口登录。用户名:root,密码:root。2.3.1调试口登录 调试口为RS232通讯,根据下文调试口说明使用。调试口连接后,直接使用用户名密码登录即可。2.3.2网口登录 网口登录可使用telnet或者ssh登录,对应网口IP为:eth0:77 eth1:77eth3:77 eth4:77
三、接口定义1.电源接口编号标识符功能说明1AC/DC220V电源接口,支持交流/直流2保护地(非零线N)2.RS485接口编号标识符功能说明1nA第n通道RS485端口A(n=1~16)2nB第n通道RS485端口B(n=1~16)注:RS485第1~8通道是独立通道,RS485第9~16通道与RS232的第9~16通道为复用通道。即16路RS485,其中有8路是与RS232复用,通过连接不同端子上的接口实现复用。3.RS232、CAN接口编号标识符功能说明1TXn第n通道RS232端口TX(n=9~16)2RXn第n通道RS232端口RX(n=9~16)3GGND,通讯地4空NC,无连接5CAN:HCAN通讯H端6CAN:LCAN通讯L端7B+B码对时RS485-A端8B-B码对时RS485-B端注:RS232第9~16通道与RS485的第9~16通道为复用通道。对应的驱动接口相同,为分时复用通道。CAN速率设置: 命令:ifconfigcan0downiplinksetcan0typecanbitrate100000ifconfigcan0up4.开关量输出输入编号标识符功能说明1KOn:a第n路继电器干节点输出常闭端(n=1,2)2KOn:b第n路继电器干节点输出公共端(n=1,2)3KOn:c第n路继电器干节点输出常开端(n=1,2)4KIn:+第n路开关量干节点输入正端(n=1,2)5KIn:-第n路开关量干节点输入负端(n=1,2)注:继电器输出为双刀双掷开关,如下图:5.网络接口网口编号编号标识符功能说明ETH1/2/3/41E0/1_TX+以太网ETH0/1_TX+2E0/1_TX-以太网ETH0/1_TX-3E0/1_RX+以太网ETH0/1_RX+4NC未使用5NC未使用6E0/1_RX-以太网ETH0/1_RX-7NC未使用8NC未使用IP1Eth1772Eth2773Eth3774Eth4776.调试接口编号标识符功能说明1TXRS232调试串口TX2RXRS232调试串口RX3GND系统通讯地4-8NC未使用调试口配置:波特率:115200,数据位:8,停止位:1,校验位:none,流控:无7.RS485/RS232驱动接口 驱动接口可以在管理机的/dev目录下查看。编号标识符功能说明1ttySn对应ttyCH(n-1),第n通道RS485驱动接口(n=1~8)2ttySn对应ttyCH(n-1),第n通道RS485/RS232驱动接口(n=9~16)3TtyS17GPRS通讯串口(2G模块才会使用)
四、驱动实例 在系统的/program目录下有相应的脚本文件,可以进行一些简单的测试。其中要确保startup.sh文件里,端口映射的正确的。文件内容见附录。附录:1、startup.sh文件内容:#!/bin/shln-sf/dev/ttyCH0/dev/ttyS1ln-sf/dev/ttyCH1/dev/ttyS2ln-sf/dev/ttyCH2/dev/ttyS3ln-sf/dev/ttyCH3/dev/ttyS4ln-sf/dev/ttyCH4/dev/ttyS5ln-sf/dev/ttyCH5/dev/ttyS6ln-sf/dev/ttyCH6/dev/ttyS7ln-sf/dev/ttyCH7/dev/ttyS8ln-sf/dev/ttyCH8/dev/ttyS9ln-sf/dev/ttyCH9/dev/ttyS10ln-sf/dev/ttyCH10/dev/ttyS11ln-sf/dev/ttyCH11/dev/ttyS12ln-sf/dev/ttyCH12/dev/ttyS13ln-sf/dev/ttyCH13/dev/ttyS14ln-sf/dev/ttyCH14/dev/ttyS15ln-sf/dev/ttyCH15/dev/ttyS16ln-sf/dev/ttyO1/dev/ttyS17iplinksetcan0typecanbitrate100000ifconfigcan0up2、serial.c文件内容:#include<stdio.h>#include<string.h>#include<malloc.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<termios.h>#definemax_buffer_size100/*buffersize*//*******************************************/intfd1;intflag_close;intopen_serial(intk,int*fd){ intsfd=-1; charstr[100]; sprintf(str,"/dev/ttyS%d",k); printf("open%s\n",str); sfd=open(str,O_RDWR|O_NOCTTY|O_NONBLOCK);if(sfd==-1){ perror(str); return-1; } else{ *fd=sfd; return0; }}/********************************************************************/intmain(intargc,char*argv[]){ time_ttNow,tOld; intport; charsbuf[]={"12345678901234567890123456789012345678901234567890\n"};/*固定发送的数据*/ charsbufrec[256]={0}; intsfd,retv,i,ncount=0,mcount=0; structtermiosopt; intlength=sizeof(sbuf); /*******************************************************************/ if(argc<2) { printf("inputerro:serial<1~4>\n"); return0; } port=atoi(argv[1]); open_serial(port,&fd1); /*******************************************************************/ printf("readyforsendingdata...\n"); tcgetattr(fd1,&opt); cfmakeraw(&opt); /*****************************************************************/ cfsetispeed(&opt,B9600);/*设置波特率为9600bps*/ cfsetospeed(&opt,B9600); /*******************************************************************/ tcsetattr(fd1,TCSANOW,&opt); while(mcount<5) { retv=write(fd1,sbuf,length);/*发送数据*/ if(retv==-1){ //perror("write"); printf("writeerror\n"); } else{ printf("thenumberofcharsentis%d\n",retv); } ncount=0; printf("readyforreceivingdata...\n"); time(&tOld); tNow=tOld; ncount=0; while(((tNow-tOld)<2))/*设置接收超时*/ { time(&tNow); retv=read(fd2,&sbufrec[0],1); if(retv==-1){ //perror("read"); //printf("errorread\n"); //printf("tOld=%d;tNow=%d\n",tOld,tNow); } else{ printf("%02x",sbufrec[0]); ncount+=1; } } mcount+=1; printf("\n"); } flag_close=close(fd1); if(flag_close==-1)/*关闭口端口*/ printf("ClosetheDevice1failur!\n"); return0;}3.io_out.c文件内容:#include<string.h>#include<stdlib.h>#include<ctype.h>#include<stdio.h>#include<stdint.h>#defineMAXFILENAME_LEN100constchar*gpio_dir="/sys/class/gpio/";intgpio[2]={ 115, /*OUT1*/ 114, /*OUT2*/}; intwrite_sysfs_int(intport,intval){ intret; FILE*sysfsfp; chartemp[MAXFILENAME_LEN]="\0"; sprintf(temp,"%sgpio%d/value",gpio_dir,port); sysfsfp=fopen(temp,"w"); if(sysfsfp==NULL){ printf("failedtoopen%s\n",temp); return-1; } fprintf(sysfsfp,"%d",val); fclose(sysfsfp); return0;}intmain(intargc,char*argv[]){ intport,val; if(argc<3) { printf("inputerro:\nUseageio_out(portno)(value)\n"); return0; } port=atoi(argv[1]); val=atoi(argv[2]); if((port<=0)||(port>2)){ printf("ThePortnoOnly1-2isvalid\n"); return-1; } port--; returnwrite_sysfs_i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论