VIP Члены
QT251 (16 последовательных 4 сетевых отверстия)
QT251N - это 32 - разрядный MPU - встроенный компьютер, основанный на архитектуре оптимизированного набора команд (RISC).
Подробная информация о продукции
QT251 Правила производства
I. ОБЗОР ПРОДУКТА
QT251N - это встроенный компьютер, основанный на высокопроизводительных 32 - битных MPU - процессорах с архитектурой оптимизированного набора команд (RISC). Процессор представляет собой одночиповый процессор системного уровня с ARMCOrtex - A8 в качестве ядра, встроенный в NEON Common Stream Master (SIMD), кэш 256KBL2 с кодом коррекции ошибок (ECC), который поддерживает частоту до 1 ГГц. Система обеспечивает связь RS458 / RS232, проводную сетевую связь, шину CAN, а также обеспечивает необязательную беспроводную связь GPRS, с небольшим размером, низким энергопотреблением, высокой эффективностью, подходит для концентраторов электроэнергии, HMI、 Промышленный контроль, шлюзы и другие случаи.
II. Характеристики продукции
1. Особенности аппаратного обеспечения
Процессор AM355xCPU:
Архитектура 32 bitarmcorte - A8, основная частота 800 МГц, 1.6 MIPS / МГц, максимальная основная частота 1 ГГц
32KBI - cache, 32KBD - cache, сопроцессор NeonSIMD
Память:
512 MbyteDDR3, 64 КБ специализированной памяти
ФЛАШ:
512MbyteNANDFlash, Максимальная поддержка 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 - кодовой коррекции времени, автоматическая синхронизация после подключения
Можно:
1 канал связи CAN, встроенный дизайн защиты изоляции
Входные данные переключателя:
Выход двухножевого реле
Ввод переключателя 2
Сеть:
4 - й путь 10M / 100M Адаптивный промышленный Ethernet, стандартный интерфейс RJ45
15kvtvs защита, внутренняя полная изоляция
Беспроводные функции (необязательно):
Радиочастотный диапазон 800 / 900 / 1800 / 1900 МГц (вариант 2 / 3 / 4G)
Дополнительный WiFi: можно подключить AP или сделать AP
1 интерфейс SIM - карты, 1 интерфейс антенны
Скорость передачи: стандартная скорость для выполнения соответствующих функций
СДКАРТА:
Встроенный интерфейс карты SD / MMC
Источник питания:
Входное напряжение: 220В, поддержка переменного тока, постоянного тока
Потребление энергии в автономном режиме: < 12 Вт
Механические характеристики
Металлический материал оболочки
Размер: 1U
Класс защиты: IP63
Условия работы
Рабочая температура: - 40°C ~ + 85°C
Рабочая влажность: от 5% до 95%
2. Особенности программного обеспечения
2.1 Системные характеристики
В QT251N предустановлена операционная система Linux на базе TIAM335x с версией 3.2.0. Приложения, соответствующие стандартам POSIX или UNIX - подобным платформам. Для аппаратных устройств, характерных для системы, ядро обеспечивает простой и простой в использовании драйвер - интерфейс, который ускоряет разработку приложений для пользователей.
Программная система QT251N состоит из трех частей: Bootloader, ядра Linux и
rootfs。 Bootloader - это проект с открытым исходным кодом, который соответствует условиям GPL, UBoot - это в основном запуск загрузочного ядра, поддержка монтирования NFS, запуск NANDFlash; Ядро Linux является нижним слоем всей операционной системы и отвечает за управление всем оборудованием, а также обеспечивает основные функции, необходимые для различных систем; Rootfs - это метод, используемый для определения структуры файлов на диске или разделе, то есть для организации файлов на диске.
2.2 Конфигурация окружающей среды
Виртуальная машинная система Ubuntu 10.04, предоставляемая нашей компанией, может быть скомпилирована напрямую. Имя пользователя: work
Пароль: 123456
编译命令: arm-linux-gnueabihf-gcc-ofilenameимя файла. с
Цепочка компиляции: arm - linux - gnueabihf - 4.7.tar.gz
В среде компиляции, не предлагаемой нашей компанией, скопируйте цепочку компиляции в систему LINUX PC, а после декомпрессии цепочки компиляции добавьте каталог bin в корневой каталог к переменной среды системы.
При декомпрессии в каталог / opt / arm - linux - gnu добавляется переменная окружения:
exportPATH=$ПОТЬ:/opt/arm-linux-gnu/bin
Адрес загрузки в цепочке компиляции:
https://pan.baidu.com/s/1nv19D1Z#list/path=%2FWORK%2FCortex А8
2.3 Регистрация администратора
IP: eth0: 192.168.1.177eth1: 192.168.2.177eth2: 192.168.3.177eth3: 192.168.4.177
Имя пользователя: пароль root: root
III. Определение интерфейса
1. Интерфейс питания
Интерфейс 2.RS485
Примечание: 9 - 16 - й канал RS485 и 9 - й - 16 - й канал RS232 являются многократно используемыми каналами.
3.RS232, интерфейс CAN
Примечание: 9 - 16 - й канал RS232 и 9 - й - 16 - й канал RS485 являются многократно используемыми каналами. Соответствующий приводной интерфейс такой же, как и канал повторного использования с разделением времени.
4. Ввод выходного объема переключателя
Примечание: Выход реле представляет собой двухножевой двойной переключатель, на рисунке ниже:
5. Сетевой интерфейс
6. Отладочный интерфейс
Настройка отладочного отверстия: коэффициент Портера: 115200, бит данных: 8, стоп - бит: 1, контрольный бит: none, управление потоком: Нет
7.RS485 / RS232 Драйвер интерфейса
Драйвер интерфейса можно просмотреть в каталоге / dev администратора.
IV. Примеры драйверов
В системном каталоге / program есть соответствующие скриптные файлы, которые могут быть легко протестированы. Это гарантирует правильное отображение порта в файле startup.sh. Текст документа содержится в добавлении.
Добавление:
Содержание файла 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
Содержание файла serial.c:
#включить#включить
#включить
#включить
#включить
#включить
#включить
#включить
#definemax_buffer_size100/*размер буфера*/
/************************************/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); возвращение-1;
}
другое{
*fd=sfd; возвращение0;
}
}
/****************************************************************/intmain(intargc,char*argv[])
{
time_ttNow,tСтарый; инпорт;
char
sbuf[]={"12345678901234567890123456789012345678901234567890/n"}; / * Фиксированная
Отправленные данные * /
charsbufrec[256]={0};
intsfd,retv,i,ncount=0,mcount=0; structtermiosopt;
intlength=sizeof(sbuf);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * /
если(argc<2)
{
printf("inputerro:serial<1~4>/n"); возвращение0;
}
* * /
/
* * /
port=atoi(argv[1]); open_serial(порт, &fd1);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("readyforsendingdata.../n"); tcgetattr(fd1,&opt); cfmakeraw(&opt);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cfsetispeed(&opt,B9600); / * Настройка скорости порта 9600bps * / cfsetospeed (& opt, B9600);
/*****************************************************tcsetattr(fd1,TCSANOW,&opt);
в то время как (mcount<5)
{
retv=write(fd1,sbuf,length); / * Отправка данных * / if (retv = - 1) {
//perror("написать"); printf("writeerror/n");
}
другое{
printf("thenumberofcharsentis%d/n",retv);
}
ncount=0;
printf("readyforreceivingdata.../n");
время (&tOld); tNow=tСтарый; ncount=0;
while ((((tNow - tOld) < 2) / * Настройка тайм - аута приема * /
{
время (&tNow); retv=read(fd2,&sbufrec[0],1); если(retv==-1){
//perror("читать");
//printf("errorread/n");
//printf("tOld=%d;tNow=%d/n",tOld,tNow);
}
другое{
printf("%02x",sbufrec[0]); ncount+=1;
}
}
mcount+=1; printf("/n");
}
flag_close=close(fd1);
if (flag close = = - 1) / * Закрыть порт * / printf ("ClosetheDevice1failur! / n");
возвращение0;
}
Онлайн - запросы
