-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 (изменено) · Жалоба Суть работы такая: На альтере (в корпусе TQFP) изобразить урезанную копию XR16V798IQ фирмы EXAR https://www.exar.com/Files/Documents/xr16v798_101_070108.pdf Альтеру желательно взять из дешевых. Что мы в итоге хотим получить: Это поставить альтеру вместо ексара, но не переписывать софт, не менять драйвера на нашем железе. Драйвер используем 8250.c, правда слегка подправленный. linux/drivers/char/8250.c * Driver for 8250/16550-type serial ports * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. * Copyright © 2001 Russell King. То есть по сути нам надо 8ми канальный UART с питанием The XR16V7981 (798), is a 2.25V to 3.6V Мы точно не используем аппаратный DTR/RTS ( в функционал не закладываем, в ноги тоже) не используем аппаратный CTS/DSR (в функционал не закладываем, в ноги тоже) не используем аппаратный RI/CD ( в функционал не закладываем, в ноги тоже) не используем аппаратный TMRCK ( в функционал не закладываем, в ноги тоже) ENIR можно внутри корпуса бросить на землю (gnd) INFRARED не делаем целиком Режим ■ RS485 не поддерживаем В идеале на альтере ноги расположить так же как на XR16V798IQ, чтобы мы особо с переразводкой не мучились. Мы точно используем A7:A0 Address lines [7:0]. A0:A3 selects individual UART’s 16 configuration registers,A4:A6 selects UART channel 0 to7, and A7 selects the global device configuration registers. D7:D0 Data bus lines [7:0] (bidirectional). IOR# When 16/68# pin is HIGH, it selects Intel bus interface and this input is read strobe (active LOW). The falling edge instigates an internal read cycle and retrieves the data byte from an internal register pointed by the address lines [A7:A0], places it on the data bus to allow the host processor to read it on the leading edge. When 16/68# pin is LOW, it selects Motorola bus interface and this input should be connected to VCC. IOW#(R/W#) When 16/68# pin is HIGH, it selects Intel bus interface and this input becomes write strobe (active LOW). The falling edge instigates the internal write cycle and the leading edge transfers the data byte on the data bus to an internal register pointed by the address lines. When 16/68# pin is LOW, it selects Motorola bus interface and this input becomes read (HIGH) and write (LOW) signal (R/W#). CS# When 16/68# pin is HIGH, this input is chip select (active LOW) to enable the XR16V798 device. When 16/68# pin is LOW, this input becomes the read and write strobe (active LOW) for the Motorola bus interface. INT# Global interrupt output from XR16V798 (open drain, active LOW). This output requires an external pull-up resistor (47K-100K ohms) to operate properly. It may be shared with other devices in the system to form a single interrupt line to the host processor and have the software driver polls each device for the interrupt status. MODEM OR SERIAL I/O INTERFACE TX0-7 UART channel 0 Transmit Data or infrared transmit data. RX0-7 UART channel 0 Receive Data or infrared receive data. Normal RXD input idles ANCILLARY SIGNALS XTAL1 Crystal or external clock input. Caution: this input is not 5V tolerant. XTAL2 Crystal or buffered clock output. ENIR - не используем RST# Reset (active LOW). The XR16V798 does not have a Power-on reset. Therefore, a hardware reset must be issued using this pin during power-up. The configuration and UART registers are reset to default values, 16/68# 2 I Intel or Motorola data bus interface select. The Intel bus interface is selected when this input is HIGH and the Motorola bus interface is selected when this input is LOW. This input affects the functionality of IOR#, IOW# and CS# pins. VCC 3,17,28,48,84 +2.25V to 3.6V supply with 5V tolerant serial (modem) inputs. GND 4,18,29,47,83 Power supply common, ground. Как будет проверяться и сдаваться работа: Вы предположим говорите, что есть промежуточный результат, зашиваете нам камень и отправляете нам в С-Пб, мы его инсталим и смотрим на результат. Если, что то не работает пишем что. Вы исправляете и шлете новый камень. Запас камней можем выслать естественно. Как только ваша работа на нашем железе нас устроила, мы оплачиваем вам оговоренную в начале сумму и вы шлете нам сырцы проекта. Может быть какой то символический задаток в начале. Работа не особо сложная, и мы не особо торопимся, так что как сделаете так и хорошо. 2 месяца есть точно. Наша распиновка на плате для наглядности конфигурации ног С предложениями в личку. Изменено 18 января, 2017 пользователем -k-t-s- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Суть работы такая: ... С предложениями в личку. 1. Личка у новичков не работает по определению. 2. Работу можно еще более упростить, если заранее убрать переключение шины 8/16, установить намертво в ПЛИС число передаваемых битов, нечеты и стопы... Ну и сделать намертво скорость передачи... Наверняка в процессе работы они не меняются... 3. Еще надо сказать будет ли это CPLD или FPGA... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 (изменено) · Жалоба 1. Личка у новичков не работает по определению. 2. Работу можно еще более упростить, если заранее убрать переключение шины 8/16, установить намертво в ПЛИС число передаваемых битов, нечеты и стопы... Ну и сделать намертво скорость передачи... Наверняка в процессе работы они не меняются... 3. Еще надо сказать будет ли это CPLD или FPGA... 1.Ну может новичку и не стоит браться за такое дело, хотя можно написать все прямо тут в теме. 2. Полностью согласен, драйвер дам, там все есть. Скорость передачи надо менять от 9600 до максимума, у нас перебор скорости юзается. 3. FPGA, ну нравится мне фргашников называть плисоводами. Простите мне мою слабость? Все урезаем в соответствии с драйвером в картинке удалите картинку Изменено 18 января, 2017 пользователем -k-t-s- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
viv-pm 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Суть работы такая: На альтере (в корпусе TQFP) изобразить урезанную копию XR16V798IQ фирмы EXAR https://www.exar.com/Files/Documents/xr16v798_101_070108.pdf Альтеру желательно взять из дешевых. Что мы в итоге хотим получить: Это поставить альтеру вместо ексара, но не переписывать софт, не менять драйвера на нашем железе. Драйвер используем 8250.c, правда слегка подправленный. linux/drivers/char/8250.c * Driver for 8250/16550-type serial ports * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. * Copyright © 2001 Russell King. То есть по сути нам надо 8ми канальный UART с питанием The XR16V7981 (798), is a 2.25V to 3.6V Мы точно не используем аппаратный DTR/RTS ( в функционал не закладываем, в ноги тоже) не используем аппаратный CTS/DSR (в функционал не закладываем, в ноги тоже) не используем аппаратный RI/CD ( в функционал не закладываем, в ноги тоже) не используем аппаратный TMRCK ( в функционал не закладываем, в ноги тоже) ENIR можно внутри корпуса бросить на землю (gnd) INFRARED не делаем целиком Режим ■ RS485 не поддерживаем В идеале на альтере ноги расположить так же как на XR16V798IQ, чтобы мы особо с переразводкой не мучились. Мы точно используем A7:A0 Address lines [7:0]. A0:A3 selects individual UART’s 16 configuration registers,A4:A6 selects UART channel 0 to7, and A7 selects the global device configuration registers. D7:D0 Data bus lines [7:0] (bidirectional). IOR# When 16/68# pin is HIGH, it selects Intel bus interface and this input is read strobe (active LOW). The falling edge instigates an internal read cycle and retrieves the data byte from an internal register pointed by the address lines [A7:A0], places it on the data bus to allow the host processor to read it on the leading edge. When 16/68# pin is LOW, it selects Motorola bus interface and this input should be connected to VCC. IOW#(R/W#) When 16/68# pin is HIGH, it selects Intel bus interface and this input becomes write strobe (active LOW). The falling edge instigates the internal write cycle and the leading edge transfers the data byte on the data bus to an internal register pointed by the address lines. When 16/68# pin is LOW, it selects Motorola bus interface and this input becomes read (HIGH) and write (LOW) signal (R/W#). CS# When 16/68# pin is HIGH, this input is chip select (active LOW) to enable the XR16V798 device. When 16/68# pin is LOW, this input becomes the read and write strobe (active LOW) for the Motorola bus interface. INT# Global interrupt output from XR16V798 (open drain, active LOW). This output requires an external pull-up resistor (47K-100K ohms) to operate properly. It may be shared with other devices in the system to form a single interrupt line to the host processor and have the software driver polls each device for the interrupt status. MODEM OR SERIAL I/O INTERFACE TX0-7 UART channel 0 Transmit Data or infrared transmit data. RX0-7 UART channel 0 Receive Data or infrared receive data. Normal RXD input idles ANCILLARY SIGNALS XTAL1 Crystal or external clock input. Caution: this input is not 5V tolerant. XTAL2 Crystal or buffered clock output. ENIR - не используем RST# Reset (active LOW). The XR16V798 does not have a Power-on reset. Therefore, a hardware reset must be issued using this pin during power-up. The configuration and UART registers are reset to default values, 16/68# 2 I Intel or Motorola data bus interface select. The Intel bus interface is selected when this input is HIGH and the Motorola bus interface is selected when this input is LOW. This input affects the functionality of IOR#, IOW# and CS# pins. VCC 3,17,28,48,84 +2.25V to 3.6V supply with 5V tolerant serial (modem) inputs. GND 4,18,29,47,83 Power supply common, ground. Как будет проверяться и сдаваться работа: Вы предположим говорите, что есть промежуточный результат, зашиваете нам камень и отправляете нам в С-Пб, мы его инсталим и смотрим на результат. Если, что то не работает пишем что. Вы исправляете и шлете новый камень. Запас камней можем выслать естественно. Как только ваша работа на нашем железе нас устроила, мы оплачиваем вам оговоренную в начале сумму и вы шлете нам сырцы проекта. Может быть какой то символический задаток в начале. Работа не особо сложная, и мы не особо торопимся, так что как сделаете так и хорошо. 2 месяца есть точно. Наша распиновка на плате для наглядности конфигурации ног С предложениями в личку. Всё вполне реально. сообщите куда писать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Всё вполне реально. сообщите куда писать [email protected] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба 3. FPGA, ну нравится мне фргашников называть плисоводами. Простите мне мою слабость? Тут вот какое дело. "Наша распиновка на плате для наглядности конфигурации ног" - это не получится, если только Екзар сам не делал свой чип из Альтеры. Поэтому плату придется переразводить. CPLD или FPGA - либо чип прошивается и потом будет "всегда готов", либо надо будет его загружать... Но CPLD - чип дорогой.. А поскольку плату все равно переразводить, то посмотрите, может быть что-то еще в ПЛИС можно будет запихнуть... И тем более, 8-ми канальный UART, это совсем не значит, что в FPGA надо запихнуть именно 8 ядер. Вполне достаточно и 1-го, но 8-ми канального... Поэтому можно брать что-то из самых мелких FPGA... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 (изменено) · Жалоба Тут вот какое дело. "Наша распиновка на плате для наглядности конфигурации ног" - это не получится, если только Екзар сам не делал свой чип из Альтеры. Поэтому плату придется переразводить. CPLD или FPGA - либо чип прошивается и потом будет "всегда готов", либо надо будет его загружать... Но CPLD - чип дорогой.. А поскольку плату все равно переразводить, то посмотрите, может быть что-то еще в ПЛИС можно будет запихнуть... И тем более, 8-ми канальный UART, это совсем не значит, что в FPGA надо запихнуть именно 8 ядер. Вполне достаточно и 1-го, но 8-ми канального... Поэтому можно брать что-то из самых мелких FPGA... Ну так и я про то говорю. Специалист должен сам определиться как он будет или 8 ядер пихать или одно и распараллеливать. Главное чтобы на нашем железе работало, что просто проверяется. Плату понятно что будем переразводить, я упомянул только чтобы переразводка не была тотальной, всего и вся. То-есть адреса с данными смотрят на право, rx/tx налево, генератор вниз. Ну и засунуть что то еще можно, но нам не нужно, все остальное работает и давно отлажено. Изменено 18 января, 2017 пользователем -k-t-s- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Специалист должен сам определиться как он будет или 8 ядер пихать или одно и распараллеливать. Главное чтобы на нашем железе работало, что просто проверяется. Так что вот так не получится: "Вы предположим говорите, что есть промежуточный результат, зашиваете нам камень и отправляете нам в С-Пб, мы его инсталим и смотрим на результат. Если, что то не работает пишем что. Вы исправляете и шлете новый камень." А должно быть пот так: Специалист делает проект, и выдает Вам расположение выводов. Потому как сигналы могут в CPLD вписаться с трудом. После чего делается переразводка и чип паяется в плату. Там он зашивается. Потом проверяется. А вот если выберите CPLD да еще и впритык, то возможно что туда коррекция проекта не влезет и тогда ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Так что вот так не получится: "Вы предположим говорите, что есть промежуточный результат, зашиваете нам камень и отправляете нам в С-Пб, мы его инсталим и смотрим на результат. Если, что то не работает пишем что. Вы исправляете и шлете новый камень." А должно быть пот так: Специалист делает проект, и выдает Вам расположение выводов. Потому как сигналы могут в CPLD вписаться с трудом. После чего делается переразводка и чип паяется в плату. Там он зашивается. Потом проверяется. А вот если выберите CPLD да еще и впритык, то возможно что туда коррекция проекта не влезет и тогда ... Согласен, но! Плата у нас сложная 6 слоев, дорожки 0.1, ее не каждый завод берется делать. За пробниками не набегаешься. Мы камешек просто на проводочках припаяем на старые дорожки и проверим, благо работы на 15 минут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Согласен, но! Плата у нас сложная 6 слоев, дорожки 0.1, ее не каждый завод берется делать. За пробниками не набегаешься. Мы камешек просто на проводочках припаяем на старые дорожки и проверим, благо работы на 15 минут. тогда можно выбрать стартовый набор, самый простой, "без ничего".. И его припаять, поскольку на нем хорошие земляные шины уже есть и разъемы тоже есть... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба тогда можно выбрать стартовый набор, самый простой, "без ничего".. И его припаять, поскольку на нем хорошие земляные шины уже есть и разъемы тоже есть... Согласен на все 100, исполнитель делать может на чем ему нравиться, хоть на отладке, хоть в симуляторе. Нам же от него нужна зашитая микросхема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Согласен на все 100, исполнитель делать может на чем ему нравиться, хоть на отладке, хоть в симуляторе. Нам же от него нужна зашитая микросхема. Вы не поняли... Микросхему надо прошивать не в программаторе или "на проводках", а только на плате, с хорошими землями и питанием. И к Вашей плате "на проводках" микросхему припаивать нельзя, будет сбоить. Потому, Вам надо к старой плате проводками припаять стартовый набор, но только по сигнальным цепям. А питание и землю - от Вашей платы к стартовому набору подать толстыми проводами... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-k-t-s- 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Вы не поняли... Микросхему надо прошивать не в программаторе или "на проводках", а только на плате, с хорошими землями и питанием. И к Вашей плате "на проводках" микросхему припаивать нельзя, будет сбоить. Потому, Вам надо к старой плате проводками припаять стартовый набор, но только по сигнальным цепям. А питание и землю - от Вашей платы к стартовому набору подать толстыми проводами... Да, Да, все так. Прошу макс 10 к реализации не предлагать. Это так на всякий случай - ремарка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Прошу макс 10 к реализации не предлагать. Это так на всякий случай - ремарка :bb-offtopic: Чем провинился? Сейчас думаю его пользовать в проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 18 января, 2017 Опубликовано 18 января, 2017 · Жалоба Согласен на все 100, исполнитель делать может на чем ему нравиться, хоть на отладке, хоть в симуляторе. Нам же от него нужна зашитая микросхема. Даже спросить боюсь, а почему не бинарник прошивки? Из страха, что Вы его кинете, если всё работать будет? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться