Membre VIP
Qt251 (16 ports série 4 ports réseau)
Qt251 fiche produit I. Aperçu du produit qt251 est un ordinateur embarqué 32 bits MPU basé sur une architecture RISC (Thin Instruction Set) haute perf
Détails du produit
Qt251 fiche produit
I. Aperçu du produit
Le qt251n est un ordinateur embarqué basé sur un MPU 32 bits haute performance basé sur une architecture RISC (Thin Instruction Set). Le processeur est une puce unique au niveau du système avec l'armcortex - A8 au cœur, un co - traitement Neon single instruction Stream majority Stream (simd) intégré, un cache 256 kbl2 avec un code de correction d'erreur (ECC) et une prise en charge des fréquences allant jusqu'à 1 GHz. Le système fournit la communication rs458 / RS232, la communication de réseau câblé, le bus CAN, mais également la communication GPRS sans fil en option, avec des caractéristiques de petite taille, de faible consommation d'énergie et d'efficacité élevée, adaptées aux concentrateurs de puissance, HMI、 Contrôle industriel, passerelle et autres occasions.
II. Caractéristiques du produit
1. Caractéristiques du matériel
AM355xCPU :
Architecture 32bitarmcorte - A8, fréquence principale 800MHz, 1.6mips / MHz, fréquence principale la plus élevée 1ghz
32kbi - cache, 32kbd - cache, coprocesseur neonsimd
Mémoire:
512mbyteddr3, 64kb de RAM dédiée
Flash :
512MbyteNANDFlash, Prise en charge maximale de 8gbyte
Prend en charge Nand, NOR, SRAM et autres flash
Cryptage:
Prend en charge le cryptage prng / des / 3des / AES / Sha / hmac, jusqu'au mode de cryptage 256 bits
Chien de garde:
WDT intégré, temps de débordement inférieur à 60 secondes, prend en charge le réveil inactif et le réveil hors tension
RTC :
Horloge temps réel de haute précision avec batterie intégrée
Port de débogage:
Le port série à 1 voie est le port console du système. Baud Rate: 115200, BIT de données: 8, BIT d'arrêt: 1, BIT de contrôle: none, contrôle de débit: aucun
RS485 et RS232 :
Communication RS485 indépendante de 8 voies, conception de protection d'isolation complète à l'intérieur
Communication multiplex 8 Voies RS485 / RS232 en temps partagé, peut être utilisée selon la sélection réelle, conception de protection interne entièrement isolée
En paire de code B:
Réception RS485 à 1 voie, dédiée à la paire de codes B, à la paire automatique après connexion
CAN :
Communication can à 1 voie, conception de protection isolée intégrée
Entrée de sortie de commutateur:
Sortie de relais 2 voies double couteau
Entrée de volume de commutation à 2 voies
Réseau:
Ethernet industriel adaptatif 4 voies 10M / 100M, interface RJ45 standard
Protection 15kvtvs, conception de protection entièrement isolée à l'intérieur
Fonction sans fil (facultatif):
Bande RF 800 / 900 / 1800 / 1900 MHz (2 / 3 / 4G en option)
Wifi en option: peut se connecter à AP, peut également faire ap
1 interface SIM, 1 interface antenne
Vitesse de transmission: atteindre la vitesse standard de la fonction correspondante
Carte SDCARD :
Une interface de carte SD / MMC intégrée
Puissance:
Tension d'entrée: 220V, soutien AC, DC
Consommation d'énergie d'une seule machine: < 12W
Caractéristiques mécaniques
Matériau métallique du boîtier
Taille: 1U
Degré de protection: ip63
Environnement de travail
Température de fonctionnement: - 40 ℃ ~ + 85 ℃
Humidité de fonctionnement: 5% ~ 95%
2 caractéristiques du logiciel
2.1 caractéristiques du système
Qt251n est préinstallé avec le système d'exploitation Linux tiam335x, version 3.2.0. Applications qui répondent aux normes POSIX ou aux plates - formes de type UNIX. Pour les périphériques matériels spécifiques au système, le noyau fournit une interface de pilotage simple et facile à utiliser qui accélère le développement d'applications pour les utilisateurs.
Le système logiciel du système qt251n est divisé en 3 parties: bootloader, Linux Kernel et
rootfs。 Bootloader est un projet Open source qui suit les termes de la GPL, uboot est principalement le démarrage du noyau de démarrage, prend en charge le montage NFS, le démarrage nandflash; Le noyau Linux est la couche la plus basse de l'ensemble du système d'exploitation et est responsable du pilotage de l'ensemble du matériel, ainsi que de la fourniture des fonctionnalités de base requises pour les différents systèmes; Rootfs est la méthode et la structure de données utilisées pour clarifier les fichiers sur un disque ou une partition, c'est - à - dire pour organiser les fichiers sur un disque.
2.2 configuration de l'environnement
Le système de machine virtuelle ubuntu10.04 fourni par cette société, peut être compilé directement pour une utilisation. Nom d'utilisateur: Work
Mot de passe: 123456
编译命令: arm-linux-gnueabihf-gcc-ofilenamenom de fichier. c
Chaîne de compilation: arm-linux-gnueabihf-4.7.tar.gz fourni par cette société
Dans un environnement de compilation qui n'est pas fourni par Notre société, copiez la chaîne de compilation sous le système Linux de votre PC, après avoir décompressé la chaîne de compilation, ajoutez le répertoire Bin sous la racine à la variable d'environnement du système.
Si vous décompressez dans le répertoire / OPT / ARM - Linux - GNU, ajoutez la variable d'environnement suivante:
exportPATH=$PATH:/opt/arm-linux-gnu/bin
Adresse de téléchargement de la chaîne de compilation:
https://pan.baidu.com/s/1nv19D1Z#list/path=%2FWORK%2FCortex A8
2.3 connexion à la machine de gestion
IP : eth0 : 192.168.1.177eth1 : 192.168.2.177eth2 : 192.168.3.177eth3 : 192.168.4.177
Nom d'utilisateur: root mot de passe: Root
Iii. Définition de l'interface
1. Interface de puissance
2. Interface RS485
Remarque: le canal 9 ~ 16 de RS485 et le canal 9 ~ 16 de RS232 sont des canaux multiplexés.
3. Interface RS232, can
Remarque: le canal 9 ~ 16 de RS232 et le canal 9 ~ 16 de RS485 sont des canaux multiplexés. Les interfaces de pilotage correspondantes sont identiques, en multiplexant les canaux en temps partagé.
4. Entrée de sortie de quantité de commutation
Remarque: la sortie du relais est un commutateur à double lame, comme indiqué ci - dessous:
5. Interface réseau
6. Interface de débogage
Configuration de la bouche de débogage: Baud Rate: 115200, BIT de données: 8, BIT d'arrêt: 1, BIT de contrôle: none, contrôle de débit: aucun
7. Interface d'entraînement RS485 / RS232
L'interface de pilotage peut être visualisée dans le répertoire / dev de la machine de gestion.
Iv. Exemples de conduite
Il y a les fichiers de script correspondants dans le répertoire / program du système et quelques tests simples peuvent être effectués. Assurez - vous que le mappage des ports est correct dans le fichier startup.sh. Le contenu du document se trouve en annexe.
Annexe:
Contenu du fichier 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
Contenu du fichier serial.c:
#inclure#inclure
#inclure
#inclure
#inclure
#inclure
#inclure
#inclure
#definemax_buffer_size100/*taille du buffer*/
/*********************************/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) ; si(sfd==-1){
perror(str) ; retour-1;
}
autre{
*fd=sfd; retourn0;
}
}
/************************************************************/intmain(intargc,char*argv[])
{
temps_ttMaintenant,tAncien; Intport;
char
sbuf[]={"12345678901234567890123456789012345678901234567890/n"}; / * fixe
Données envoyées * /
charsbufrec[256]={0};
intsfd,retv,i,ncount=0,mcount=0; structtermiosopt;
intlength=sizeof(sbuf) ;
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * /
si(argc<2)
{
printf("Inputerro:serial<1~4>/n"); retourn0;
}
* * /
/
* * /
port=atoi(argv[1]); open_serial(port, &fd1) ;
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("readyforsendingdata.../n"); tcgetattr(fd1,&opt) ; cfmakeraw(&opt) ;
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cfsetispeed(&opt,B9600); / * définit un débit en bauds de 9600 bps * / cfsetospeed (& opt, b9600);
/***************************************************tcsetattr(fd1,TCSANOW,&opt);
while(mcount<5)
{
retv=write(fd1,sbuf,length); / * envoyer des données * / if (retv = = - 1) {
//perror("écrire"); printf("writeerror/n");
}
autre{
printf("thenumberofcharsentis%d/n",retv);
}
numéro=0;
printf("readyforreceivingdata.../n");
temps (&tOld); tMaintenant=tAncien; numéro=0;
While (((tnow - told) < 2)) / * définit le délai de réception * /
{
temps (&tNow); retv=read(fd2,&sbufrec[0],1) ; si(rev==-1){
//perror("lire");
//printf("erreread/n");
//printf("tAncien=%d;tMaintenant=%d/n",tAncien,tMaintenant);
}
autre{
printf("%02x",sbufrec[0]); numéro + = 1;
}
}
mcount+=1; printf("/n");
}
flag_close=close(fd1) ;
If (flag - close = = - 1) / * ferme le port * / printf ("closethedevice1failur! / n");
retourn0;
}
Enquête en ligne
