Membro VIP
QT251 (16 porte seriali 4 porte di rete)
QT251N è un computer embedded con MPU a 32 bit ad alte prestazioni basato sull'architettura RISC
Dettagli del prodotto
QT251 Specifiche del prodotto
Panoramica dei prodotti
Il QT251N è un computer incorporato con MPU ad alte prestazioni a 32 bit basato sull'architettura RISC. La CPU è un chip hierarchico di sistema basato su ARMCortex-A8, con coelaborazione NEON Single Command Stream Majority (SIMD) integrata, cache 256KBL2 con codice di correzione degli errori (ECC) per frequenze fino a 1GHz. Il sistema fornisce comunicazione RS458 / RS232, comunicazione di rete cablata, bus CAN, e fornisce anche comunicazione GPRS wireless opzionale, con piccolo volume, basso consumo di energia, caratteristiche di alta efficienza, adatto per i centralizzatori di potenza, HMI、 Controllo industriale, gateway, ecc.
Caratteristiche del prodotto
Caratteristiche dell'hardware
AM355xCPU:
Architettura 32bitARMCorte-A8, frequenza principale 800MHz, 1.6MIPS / MHz, frequenza principale massima 1GHz
32KBI-cache, 32KBD-cache, coprocessore NeonSIMD
Memoria:
512MbyteDDR3, 64KB di RAM dedicata
Flash:
512MbyteNANDFlash, Supporto massimo 8Gbyte
Supporto NAND, NOR, SRAM e Flash
Crittografia:
Supporta crittografia PRNG/DES/3DES/AES/SHA/HMAC fino a 256 bit
Cane di guardia:
WDT integrato, tempo di overflow inferiore a 60 secondi, supporto per sveglia in pausa e sveglia spenta
RTC:
Orologio in tempo reale di alta precisione con batteria integrata
Porta di messa a punto:
Una porta seriale è la porta della console del sistema. Tasso di trasmissione: 115200, bit di dati: 8, bit di arresto: 1, bit di verifica: nulla, controllo del flusso: nulla
RS485 e RS232:
Comunicazione RS485 indipendente a 8 canali con protezione interna completamente isolata
Comunicazione multiplex RS485 / RS232 a 8 canali, può essere utilizzato in base alla scelta pratica, design di protezione completamente isolata interna
Quando il codice B è giusto:
1 canale di ricezione RS485, dedicato all'accoppiamento del codice B, automatico all'accoppiamento dopo la connessione
Può:
1 canale di comunicazione CAN, design integrato di protezione isolata
Input di output di commutatore:
2 uscite a doppio relè
2 ingressi commutatori
Rete:
4 canali Ethernet industriale adattabile 10M/100M, interfaccia RJ45 standard
Protezione 15KVTVS, design di protezione completamente isolata interna
Funzione wireless (opzionale):
Banda RF 800/900/1800/1900MHz (opzionale 2/3/4G)
WIFI opzionale: AP o AP
1 interfaccia SIM, 1 interfaccia antenna
Velocità di trasmissione: raggiungere la velocità standard per la funzione corrispondente
SDCARD:
Interfaccia per scheda SD/MMC integrata
Alimentazione:
Tensione di ingresso: 220V, supporto AC, DC
Consumo di potenza: <12W
Caratteristiche meccaniche
Materiale metallico
Dimensioni: 1U
Grado di protezione: IP63
Ambiente di lavoro
Temperatura di funzionamento: -40 ℃ ~ + 85 ℃
Umidità di lavoro: 5% ~ 95%
Caratteristiche del software
2.1 Caratteristiche del sistema
QT251N è preinstallato con il sistema operativo Linux basato su TIAM335x, versione 3.2.0. Applicazioni che soddisfano lo standard POSIX o piattaforme simili a UNIX. Per i dispositivi hardware specifici del sistema, il kernel fornisce un'interfaccia di driver semplice e facile da usare che accelera lo sviluppo delle applicazioni dell'utente.
Il sistema software del QT251N è diviso in tre parti: Bootloader, kernel Linux e
rootfs。 Bootloader è un progetto open source che segue i termini della GPL, UBoot è principalmente per avviare il kernel, supporta il montaggio NFS e l'avvio NANDFlash; Il kernel Linux è il livello inferiore dell'intero sistema operativo, responsabile del driver dell'intero hardware e della fornitura delle funzionalità di base necessarie per vari sistemi; rootfs è il metodo utilizzato per definire la struttura dei file su un disco o una partizione, cioè il metodo per organizzare i file sul disco.
2.2 Configurazione ambientale
Il sistema di macchine virtuali Ubuntu 10.04 è compilabile direttamente. Nome utente: Work
Codice: 123456
编译命令: nome del file arm-linux-gnueabihf-gcc-ofilename. di c
Catena di compilazione: arm-linux-gnueabihf-4.7.tar.gz fornito dalla nostra azienda
In un ambiente di compilazione non fornito dalla società, copiare la catena di compilazione sul sistema Linux del PC, decomprimendo la catena di compilazione, aggiungere la directory bin nella directory radice alla variabile di ambiente del sistema.
Se si decomprime nella directory /opt/arm-linux-gnu, aggiungere la variabile di ambiente:
exportPATH=$PATH:/opt/arm-linux-gnu/bin
Indirizzo download della catena di compilazione:
https://pan.baidu.com/s/1nv19D1Z#list/path=%2FWORK%2FCortex A8
2.3 Login del gestore
IP: eth0: 192.168.1.177eth1: 192.168.2.177eth2: 192.168.3.177eth3: 192.168.4.177
Nome utente: root Password: root
Definizione di interfaccia
1. Interfaccia di alimentazione
Interfaccia RS485
Nota: i canali 9-16 RS485 e 9-16 RS232 sono canali multiplex.
Interfaccia RS232 e CAN
Nota: i canali 9-16 RS232 e 9-16 RS485 sono canali multiplex. L'interfaccia del driver corrispondente è la stessa, per il canale multiplex di divisione del tempo.
4. ingresso di uscita di commutatore
Nota: l'uscita del relè è un interruttore a doppio getto a doppio getto, come nella figura seguente:
5. Interfaccia di rete
6. Interfaccia di debug
Configurazione della porta di messa a punto: Tasso di portata: 115200, bit di dati: 8, bit di arresto: 1, bit di verifica: nulla, controllo del flusso: nulla
Interfaccia driver RS485/RS232
L'interfaccia del driver può essere visualizzata nella directory /dev del gestore.
Esempi di driver
C'è un file di script corrispondente nella directory /program del sistema che consente di eseguire alcuni test semplici. È necessario assicurarsi che il file startup.sh mappa le porte correttamente. Il contenuto del documento è riportato nell'allegato.
Appendice:
Contenuto del file 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
Contenuto del file serial.c:
#includere#includere
#includere
#includere
#includere
#includere
#includere
#includere
#definimax_buffer_size100/*buffersize*/
/***********************************/intfd1;
inteflag_close;
intopen_serial(intk,int*fd)
{
intesfd=-1; charstr[100];
sprintf(str,"/dev/ttyS%d",k); printf("open%s/n",str);
sfd=open(str,O_RDWR|O_NOCTTY|O_NONBLOCK); se(sfd==-1){
perror(str); ritorno-1;
}
altro{
*fd=sfd; ritorno 0;
}
}
/************************************************************/intmain(intargc,char*argv[])
{
tempo_ttOra,tVecchio; intraporto;
il char
sbuf[]={"12345678901234567890123456789012345678901234567890/n"}; /* fisso
Dati inviati*/
charsbufrec[256]={0};
intsfd,retv,i,ncount=0,mcount=0; structtermiosopt;
intlength=dimensionof(sbuf);
/*****************************************************************
**/
se(argc<2)
{
printf("inputerro:serial<1~4>/n"); ritorno 0;
}
**/
/
**/
port=atoi(argv[1]); open_serial(porta, &fd1);
/*****************************************************************
printf("readyforsendingdata.../n"); tcgetattr(fd1,&opt); cfmakeraw(&opt);
/*****************************************************************
cfsetispeed(&opt,B9600); /* Impostare la velocità di bit a 9600 bps*/cfsetospeed(&opt,B9600);
/***************************************************tcsetattr(fd1, TCSANOW, &opt);
mentre(mcount<5)
{
retv=write(fd1,sbuf,length); /*Invio dei dati*/if(retv==-1){
//perror("scrivere"); printf("writeerror/n");
}
altro{
printf("thenumberofcharsentis%d/n",retv);
}
conto=0;
printf("readyforreceivingdata.../n");
tempo(&tOld); tOra=tVecchio; conto=0;
while(((tNow-tOld)<2))/*Impostazione del tempo limite di ricezione*/
{
tempo (&tNow); retv=read(fd2,&sbufrec[0],1); se(retv==-1){
//perror("leggere");
//printf("errorread/n");
//printf("tOld=%d;tNow=%d/n",tOld,tNow);
}
altro{
printf("%02x",sbufrec[0]); conto+=1;
}
}
mcount+=1; printf("/n");
}
flag_close=chiudere(fd1);
if(flag_close==-1)/*关闭口口口口*/printf("ChiudeDispositivo1failur!/n");
ritorno 0;
}
Richiesta online
