Появилась задача передать кадр с камеры через GPRS. Есть устройство с GPRS модемом на борту, управляет всем PIC. Есть интерфейса IIC, к которому собственно и нужно подключить JPEG кодер. Этот кодер должен работать по принципу - получил команду по IIC снять кадр, выполнил кодирование в JPEG, и сохранил его в свою память. После чего можно по шине IIC эту картинку по кускам вытянуть из памяти кодера, и передать через GPRS.
Ознакомившись с данной темой, выяснил, что JPEG кодек нужно делать аппаратный на ПЛИС. Поскольку с ПЛИС не работал, придется начинать все с нуля! Насколько я понимаю, алгоритм работы такого кодера примерно такой - в ПЛИС обрабатываем кадр полученный с выхода АЦП, на лету кодируем его в JPEG и сохраняем в какую ни будь static RAM. После чего обеспечиваем доступ к памяти по интерфейсу IIC.
Кодер должен состоять: АЦП, ПЛИС, static RAM.
Задачи, реализуемые на ПЛИС:
1. Организация интерфейса IIC, для получения команд от микроконтроллера, и чтения данных микроконтроллером из памяти.
2. Чтение потока с АЦП (формат YCbCr), блоками 8 х 8 сжимать на лету в JPEG и сохранять в память.
Чтоб не тратить даром времени, хотелось бы сразу выяснить несколько вопросов. Решил остановиться на ПЛИС от Xilinx (может не совсем правильный выбор?).
1. Какую выбрать среду разработки и средства отладки (бесплатную), не пойму что у них там с лицензиями? Отладочный комплект оборудования?
2. Какой ПЛИС подойдет для моей задачи?
3. Язык программирования на сколько я понимаю VHDL без вариантов (для Xilinx). Сам имею опыт программирования на Си, но на сколько я понял SystemC служит только для симуляции составных систем, а не для программирования ПЛИС.