Описание
1: инструкции по установке: a0080 #
Формат кода ASCII, где a может быть a, b, c, d, f, представляющий различные режимы вывода, a, B формат вывода с координатами, такими как 253-0x3AE, передняя 253 представляет координаты, задняя 12 цифр-значения выборки AD. Режим ofC и D-это непрерывный выход значений выборки AD (которые должны быть запрошены клиентами отдельно для удобства быстрой передачи данных), без выходных координат, так что выход может быть быстрее. Режим f является непрерывной выборкой и не выводит числовое значение. Выходной сигнал датчика может контролироваться осциллографом. Скорость передачи составляет 115 200, N, 8, один
0080 представляет собой интегральное время, диапазон около 0005-0256, выше не пробовал. Чем больше установка этого значения, тем дольше время экспозиции, тем меньше значение на выходе.
Выход TCD1304, чем сильнее освещение, тем меньше значение. Поскольку Размер пикселя датчика 8*200 мкм и широкий, Он чувствителен, очень восприимчив к окружающим светильник, и легко насыщаются. Это следует отметить при тестировании.
Этот модуль является индивидуальным электронным продуктом. Он не поддерживает возврат в течение 7 дней без причины.
В настоящее время все продукты в продаже являются выходными версиями последовательного порта. SPI настроен для клиентов, так что это более хлопотно в использовании.
2: SPI профиль (нужно быть настроенным, из-за необходимости мастер-раб отладки вместе, не рекомендуется)
Это модуль сбора изображения на основе линейного CCD. CCD линейного массива является своего рода фотоэлектрический датчик обнаружения, которая используется для обнаружения светильник интенсивность сигналов распределяется по отрезок. Он часто используется для оптического анализа сигналов, сканирования изображений, машинного видения и других областях. Модуль драйвера MPS-CCD интегрирует датчик CCD линейного массива, блок сбора привода и интерфейс связи шины SPI, который может быть использован в качестве компонента системы фотоэлектрического обнаружения. Когда модуль используется для проектирования фотоэлектрической системы обнаружения, дизайн аппаратной схемы части сбора сигнала может быть оставлен без внимания, что значительно уменьшает сложности конструкции системы.
Выбрана высокочувствительная линейная матрица CCD от Toshiba, которая содержит 3648 доступных пикселей с 8 микронами расстояния между пикселями. Время экспозиции CCD регулируется на 254 уровне, что может удовлетворить требования различных испытательных мероприятий на низком уровне светильник. Модуль использует 12-разрядный Высокое разрешение АЦП для образца с помощью датчика. Частота дискретизации может достигать более 5 кадров в секунду. Обладает характеристиками быстрой скорости и высокой точности.
MPS-CCD драйвер использует стандартную шину SPI для связи с внешними устройствами. Он может быть применен к различным встраиваемым процессорам, таким как MCU, ARM и FPGA. Как устройство SPI slave, внешний контроллер может управлять модулем через SPI связь для получения изображения и передачи данных. Протокол связи прост и прост в использовании, отличается высокой надежностью и легко интегрируется с другими приложениями. Сочетая с программой обработки изображений в контроллере, набор высокопроизводительного фотоэлектрического анализатора может быть разработан легко.
Две.Индекс производительности
2,1SPI
Стандартный трехпроводной интерфейс SPI slave
Стандарт Уровня 3,3 В, совместим с 5 В
2,2ПЗС-датчика
Модель: TCD1304
Действительный пикселей: 3648
Расстояние между пикселями: 8 мкм
Время экспозиции: 254 регулируемый уровень
2,3Прием сигнала
Разрешение: 12 бит
Максимальная частота захвата кадров:> 5 кадров в секунду
2,4Разрешение
12 место
2,5Размеры оборудования
57 мм * 25 мм * 21 мм
2,6Рабочая температура
0-70 C
Три.Область применения
Портативный фотоэлектрический детектор
Обучение оптическим экспериментам в училищах и вузах
Низкий светильник и Спектральный анализ
Описание оборудования
Во-первых,Аппаратный интерфейс
GGND, мощность заземления провода входной порт
VVCC, 5 V входной порт питания
NФлаг, сигнальная линия сигнальной линии
ЯВход, линия MOSI, соединенная с шиной SPI внешнего контроллера, для входных команд управления
OВыход, MIO линия, подключенная к SPI шиной внешнего контроллера, используется для вывода данных.
CЧасы, тактовая линия, соединенная с шиной SPI внешнего контроллера, используется для ввода тактового сигнала шины SPI.
Две.Интерфейс Описание
Подключите блок питания 5 в между модулем GND и интерфейсом VCC. Максимальное напряжение питания не более 6 в. Необходимо обратить внимание на блок питания, чтобы он не был изменен.
Шина SPI-это режим трех шин и совместима с режимом четырех шин. При использовании режима четырех шин выбор чипа контроллера может быть подвешен.
SPI шина и флаг pin areThree3V CMOS уровень стандарт, совместимый с частью 5 в стандарт IO.
Тактовая частота шины PI не превышает 300 K, тактовая линия должна быть на низком уровне, когда часы простаивают. При общении, вход и выход выбираются на первом краю цикла часов.
При общении с шиной SPI, ножка MOSI, соединенная с входом, и ножка SCLK, соединенная с часами, настроены в режим вывода, и ступня MISO, соединенная с выходом, и ступня IO, соединенная с флагом, настроены в режим ввода.
Протокол передачи данных
Во-первых,Обзор Соглашения
Коммуникация все начинается контроллером, и модуль никогда не запускает связь по собственной инициативе.
Данные, отправленные при помощи контроллера к модулю называется управляющего кодом, а так же данные возвращаемый модуль называется отзывы. Контроль коды все 8-битный неподписанное целое число данных, включая три размера: (1) количество кодов управления между 0x01 и 0xFE используется для командного модуля для начала сбора ПЗС сигнала, и отзывы в настоящее время бессмыслимы; (2) контрольный код 0xff, Который содержит два значения: один используется для командного модуля для подготовки к передаче собранных данных, а другой используется для отзывы на данный момент. Это должно быть 0x55; второй используется для переворачивания состояния уровня pin флага, в это время отзывы не имеют значения; (3) контрольный код 0x00, который используется для командного модуля для передачи байта выборочных данных, в это время отзывы являются байтом данных.
Каждый раз, когда модуль получает контрольный код и обрабатывает его соответственно, Статус уровня ноги флага будет изменен один раз, то есть, оригинальный высокий уровень станет низким, оригинальный низкий уровень станет высоким.
Когда контроллер отправляет команду «получение сигнала», лапка флага должна быть в состоянии низкого уровня.
Две.Связь потока
1.При запуске цикла "считывания-считывания" контроллер должен сначала определить состояние уровня ноги флага. Если флаг низкий, МОДУЛЬ готов. Если флаг высокий, модуль не готов. В это время контроллер должен отправить контрольный код 0xff, чтобы сделать уровень ноги флага флип один раз.
ДваКогда уровень ноги флага низкий, контроллер может отправить Код команды между 0x01 и 0xFE к модулю, чтобы заказать модуль для начала сбора сигнала CCD. Код команды представляет время экспозиции. Чем больше значение данных, тем дольше время экспозиции во время приобретения, тем выше чувствительность CCD к слабым сигналу на светильник, но чем дольше время получения. В процессе получения ПЗС, штырь флага сохраняет низкий уровень без изменений, поэтому чтение операции не может быть осуществлено в это время. Когда уровень ноги флага перевернут на высокий уровень, процесс приобретения завершается и операция чтения может быть осуществлена.
3.После обнаружения уровня флип ноги флага, контроллер отправляет контрольный код 0xff, и командный модуль готовится к передаче собранных данных сигнала. На данный момент отзывы должны быть 0x55. Если отзывы не 0x55, следует проверить ошибку операции. Получив отзывы о 0x55, контроллер должен следить за ножкой флага. Когда модуль будет готов к передаче данных, уровень ноги флага будет изменен. В это время контроллер может осуществить следующую работу.
ЧетыреПосле того, как уровень ноги флага был обнаружен, чтобы быть измененным, контроллер стал войти в ссылку чтения. В канале чтения контроллер запускает 4096 циклов чтения непрерывно и считывает 4096 байтов данных из модуля.
ПятьВ начале каждого цикла чтения контроллер отправляет контрольный код 0x00 в Модуль и получает байт данных отзывы. После завершения чтения контроллер должен следить за ножкой флага. Когда модуль будет готов к следующей передаче данных, уровень ноги флага будет изменен. В это время контроллер может осуществить следующую работу.
ШестьС самого начала байт данных, каждых двух байт представляет собой 16-битное отбора проб значение пикселя точки (первый байт высока восемь бит, второй байт-Низкая восемь бит). В общей сложности 2048 данных выборки соответствуют 2048 пикселям CCD в свою очередь.
СемьПосле 4096 циклов последовательного чтения цикл приобретения-чтения заканчивается. Модуль войдет в режим ожидания, ожидая начала следующего цикла приема-чтения. В это время, если вы продолжите отправлять Код команды считывания, данные чтения будут 0x00.
Связь протокол блок-схема
Три.Примеры кода
НеподписанноеCharSPIF, FLAG, SPI0DAT;
НеподписанноеCharТест ()
{
Бит lastFLAG = 0;/Определите разрядную переменную для сравнения сальто уровня флага
НеподписанноеCharОшибка = 0;/Определите переменную для сообщения об ошибках
НеподписанноеCharData_массивный [4096];/Определение массивов для хранения собранных данных
НеподписанноеIntЯ = 0;
В том случае, если(Флаг)/Учитывая, является ли флаг низким уровнем
{
Достижения = 0;/Очистка флагов связи SPI, различные контроллеры могут отличаться
SPI0DAT = 0xff;/Отправить контрольный код 0xff в состояние уровня флага
В то время как(! Достижения);/Ожидание завершения отправки контрольного кода
В то время как(Флаг = 1);/Ожидание флага ноги, чтобы перевернуть на низкий уровень
}
Lastflag = флага;/Резервный статус уровня ноги флага
Достижения = 0;
SPI0DAT = 0x01;/Отправьте контрольный код для начала одного приобретения. 0x01-минимальное время экспозиции.
В то время как(! Достижения);/Ожидание завершения общения
В то время как(Флаг = lastFLAG);/Ожидание уровня флага, чтобы перевернуть, в то время как модуль собирает данные, более длительное время
Достижения = 0;
Lastflag = флага;
SPI0DAT = 0xff;/Отправить контрольный код 0xff в командный модуль для подготовки к отправке данных
В то время как(! Достижения);
В том случае, если(SPI0DAT! = 0x55)/Сужу ли отзывы 0x55
ВозвратОшибка =-1 шт.;/Остановите выполнение функции и сообщите об ошибках
Для(I = 0; I <4096;)/Непрерывное считывание байтов данных
{
В то время как(Флаг = lastFLAG);/Ожидания МОДУЛЬ готов
Достижения = 0;
Lastflag = флага;
SPI0DAT = 0x00;/Отправить чтения команды
В то время как(! Достижения);
Data_массив [i] = SPI0DAT;/Сохраните отзывы в качестве большого бита данных образца
В том случае, если(Data_массив [i] = 0)
Ошибка =-1 шт.;/Если высота данных образца равна 0, то количество последовательных показаний более 4096.Ошибка обработки
I + +;
В то время как(Флаг = lastFLAG);
Достижения = 0;
Lastflag = флага;
SPI0DAT = 0x00;
В то время как(! Достижения);
Data_массив [i] = SPI0DAT;/Сохранить Отзывы в качестве низкоуровневых данных образцов
I + +;
}
В то время как(Флаг = lastFLAG);/Ожидание окончания последней передачи данных модуля
/Добавить код обработки сигнала здесь
ВозвратОшибка;
}
1: Поддержка изготовления на заказ