QT251產品規(gui)格(ge)書(shu)
一、產品概述
QT251N是一款(kuan)基于精簡指令集(ji)(RISC)架構高(gao)(gao)性能的(de)32位(wei)MPU的(de)嵌(qian)入式(shi)計算機(ji)。該CPU是以(yi)ARMCortex-A8為核心的(de)系統(tong)級單(dan)芯片(pian),內置NEON單(dan)指令流(liu)多(duo)數(shu)流(liu)(SIMD)協處理,帶有錯誤(wu)校正碼(ECC)的(de)256KBL2緩存,支持1GHz的(de)頻率。系統(tong)提(ti)供RS458/RS232通(tong)(tong)訊(xun),有線(xian)(xian)網(wang)絡通(tong)(tong)訊(xun),CAN總線(xian)(xian),同時(shi)也提(ti)供可選(xuan)的(de)無線(xian)(xian)GPRS通(tong)(tong)訊(xun),具有體(ti)積小、功(gong)耗(hao)低、效率高(gao)(gao)等特點,適用于電力集(ji)中(zhong)器(qi)、HMI、工業控(kong)制、網(wang)關等場合。
二、產品特性(xing)
1.硬件特性(xing)
AM355xCPU:
32bitARMCorte-A8架構(gou),主頻(pin)800MHz,1.6MIPS/MHz,主頻(pin)1GHz
32KBI-cache,32KBD-cache,NeonSIMD協處理(li)器
內存(cun):
512MbyteDDR3、64KB專(zhuan)用RAM
FLASH:
512MbyteNANDFlash,支(zhi)持8Gbyte
支(zhi)持NAND、NOR、SRAM等(deng)FLASH
加密:
支(zhi)持PRNG/DES/3DES/AES/SHA/HMAC加密,256位加密模式
看門(men)狗:
內置WDT,溢(yi)出時間小于60秒,支持空閑喚(huan)醒和掉電喚(huan)醒
RTC:
高(gao)精度實時時鐘,內(nei)置供(gong)電電池
調試口:
1路串口為系(xi)統(tong)console口。波特率:115200,數據位(wei):8,停止位(wei):1,校(xiao)驗(yan)位(wei):none,流控:無
RS485/RS232:
8路獨立RS485通(tong)訊,內部全隔離保護(hu)設計
8路RS485/RS232分時復用(yong)通(tong)訊(xun),可根據(ju)實(shi)際選擇使用(yong),內(nei)部(bu)全隔離保護設計
B碼對(dui)時(shi):
1路RS485接收,專(zhuan)用于B碼(ma)對時,連接后自動對時
CAN:
1路CAN通訊,內置隔離保護(hu)設計
開關(guan)量(liang)輸出輸入:
2路雙(shuang)刀雙(shuang)擲繼電器輸出
2路開關量輸入
網(wang)絡:
4路10M/100M自適應工業以(yi)太網,標準RJ45接口
15KVTVS保(bao)護(hu),內部全(quan)隔離保(bao)護(hu)設(she)計
無線功能(neng)(可選):
射(she)頻波段800/900/1800/1900MHz(可選2/3/4G)
可(ke)選WIFI:可(ke)連接AP,也可(ke)做AP
1個SIM卡(ka)接口(kou),1個天線接口(kou)
傳輸速度:達到(dao)相應功能的標準速度
SDCARD:
內(nei)置(zhi)一個SD/MMC卡(ka)接口
電源:
輸入電壓:220V,支持(chi)交流(liu)、直流(liu)
單機功耗:<12W
機械特性
外殼金(jin)屬(shu)材質
尺寸:1U
防護等級:IP63
工(gong)作環境
工作溫度:-40℃~+85℃
工作濕(shi)度(du):5%~95%
2.軟(ruan)件(jian)特性
2.1系(xi)統特性(xing)
QT251N預裝(zhuang)基(ji)于(yu)TIAM335x的Linux操作系統(tong),版本為3.2.0。滿足POSIX標準或類UNIX平臺的應用(yong)(yong)(yong)程(cheng)序。針對系統(tong)*的硬件(jian)設備,內核提供了簡單(dan)、易用(yong)(yong)(yong)的驅動(dong)接口,可加速用(yong)(yong)(yong)戶的應用(yong)(yong)(yong)程(cheng)序開發(fa)。
QT251N系(xi)統的軟(ruan)件系(xi)統共(gong)分(fen)為3部分(fen),分(fen)別為Bootloader、linux內核(he)和
rootfs。Bootloader是(shi)遵循GPL條款的(de)(de)(de)開放(fang)源碼項(xiang)目,UBoot主要是(shi)引導內核(he)的(de)(de)(de)啟(qi)動,支持NFS掛(gua)載、NANDFlash啟(qi)動;linux內核(he)是(shi)整個操作系統(tong)的(de)(de)(de)層,負責(ze)整個硬件的(de)(de)(de)驅(qu)動,以(yi)及提供各種(zhong)系統(tong)所(suo)需的(de)(de)(de)核(he)心功能;rootfs是(shi)用(yong)于明確磁盤(pan)或分區上(shang)的(de)(de)(de)文(wen)(wen)件的(de)(de)(de)方法(fa)和數據結構(gou),即在(zai)磁盤(pan)上(shang)組織(zhi)文(wen)(wen)件的(de)(de)(de)方法(fa)。
2.2環境配置
本公(gong)司提供的虛擬機系統(tong)ubuntu10.04,可直接編譯使用(yong)。用(yong)戶(hu)名:work
密碼:123456
編譯命令:arm-linux-gnueabihf-gcc-ofilenamefilename.c
編譯鏈:本公司提供(gong)的arm-linux-gnueabihf-4.7.tar.gz
非本公司提供的編譯(yi)環境下(xia),把編譯(yi)鏈(lian)拷貝到PC的LINUX系統下(xia),解壓編譯(yi)鏈(lian)后,把根目錄下(xia)的bin目錄添加到系統的環境變量即(ji)可。
如解壓到/opt/arm-linux-gnu目錄下(xia),則添加環境變量為:
exportPATH=$PATH:/opt/arm-linux-gnu/bin
編譯(yi)鏈(lian)下(xia)載(zai)地址:
//pan..com/s/1nv19D1Z#list/path=%2FWORK%2FCortex-A8
2.3管理機登錄(lu)
IP:eth0:192.168.1.177eth1:192.168.2.177eth2:192.168.3.177eth3:192.168.4.177
用戶名:root密(mi)碼:root
三、接口定義
1.電源接口
2.RS485接(jie)口
注:RS485第(di)(di)9~16通(tong)(tong)道與RS232的第(di)(di)9~16通(tong)(tong)道為復用通(tong)(tong)道。
3.RS232、CAN接(jie)口
注(zhu):RS232第(di)9~16通道(dao)與RS485的第(di)9~16通道(dao)為(wei)復用(yong)通道(dao)。對應的驅動(dong)接口(kou)相同,為(wei)分時(shi)復用(yong)通道(dao)。
4.開關(guan)量輸(shu)出輸(shu)入(ru)
注(zhu):繼電器輸出為雙(shuang)刀雙(shuang)擲開關,如下圖:
5.網(wang)絡接(jie)口
6.調試接口
調試口配置:波特率(lv):115200,數據位(wei):8,停止(zhi)位(wei):1,校(xiao)驗(yan)位(wei):none,流(liu)控(kong):無
7.RS485/RS232驅動接口
驅動接口可(ke)以在管理機的/dev目錄下查(cha)看。
四(si)、驅動實例
在系統的(de)(de)/program目錄(lu)下有(you)相應的(de)(de)腳本文(wen)件,可以進行一些(xie)簡單的(de)(de)測試。其中要確(que)保startup.sh文(wen)件里,端口映(ying)射的(de)(de)正確(que)的(de)(de)。文(wen)件內容見附錄(lu)。
附錄(lu):
1、startup.sh文件內容:
#!/bin/sh
ln-sf/dev/ttyCH0/dev/ttyS1
ln-sf/dev/ttyCH1/dev/ttyS2
ln-sf/dev/ttyCH2/dev/ttyS3
ln-sf/dev/ttyCH3/dev/ttyS4
ln-sf/dev/ttyCH4/dev/ttyS5
ln-sf/dev/ttyCH5/dev/ttyS6
ln-sf/dev/ttyCH6/dev/ttyS7
ln-sf/dev/ttyCH7/dev/ttyS8
ln-sf/dev/ttyCH8/dev/ttyS9
ln-sf/dev/ttyCH9/dev/ttyS10
ln-sf/dev/ttyCH10/dev/ttyS11
ln-sf/dev/ttyCH11/dev/ttyS12
ln-sf/dev/ttyCH12/dev/ttyS13
ln-sf/dev/ttyCH13/dev/ttyS14
ln-sf/dev/ttyCH14/dev/ttyS15
ln-sf/dev/ttyCH15/dev/ttyS16
ln-sf/dev/ttyO1/dev/ttyS17
iplinksetcan0typecanbitrate100000
ifconfigcan0up
2、serial.c文件內容:
#Include#Include
#Include
#Include
#Include
#Include
#Include
#Include
#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;
char
sbuf[]=;/*固(gu)定
發送的(de)數(shu)據*/
charsbufrec[256]=;
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);/*設置波特率為(wei)9600bps*/cfsetospeed(&opt,B9600);
/*****************************************************************tcsetattr(fd1,TCSANOW,&opt);
while(mcount<5)
{
retv=write(fd1,sbuf,length);/*發送數(shu)據*/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)/*關閉口(kou)端口(kou)*/printf("ClosetheDevice1failur!/n");
return0;
}