Jump to content
    

Конфигурация нестандартных скоростей для FT232HL

Уважаемые форумчане, есть задача сделать преобразователь USB-UART, штучное универсальное изделие, которое могло бы работать на различных нестандартных скоростях, вплоть до 2 МБит/с. Именно на микросхеме FTDI (для возможности использования драйверов D2XX - хотелки программистов). Подскажите, есть ли возможность конфигурировать FT232HL (либо FT2232HL), возможно, с внешним EEPROM, для работы на нестандартных скоростях, аналогично тому, как это позволяет CP2102? При этом не трогая ничего в драйверах - нужно, чтобы была возможность сконфигурировать устройство на ПК без админских прав. 

Share this post


Link to post
Share on other sites

Linux, Windows, Mac или комбинации?

На Linux - можно делать нестандартные скорости (слегка правой рукой левое ухо, но - работает на FT232R).

Share this post


Link to post
Share on other sites

On 2/28/2024 at 8:49 PM, Priest_89 said:

Windows 10 и 7

Если через D2XX работать, проблем вообще нет никаких.
Если через VCP - тут есть возможность нарваться на что нибудь неприятное. 
https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-dcb
Хотя и со всеми нужными нестандартами до 300 кбод никаких проблем не возникало, но и как бы не рекомендуется злоупотреблять без особой надобности.  

Конкретно FT232H не изучали, но всё оно одно и то же.

Share this post


Link to post
Share on other sites

в виндах при открытии порта в DCB.BaudRate пишется непосредственно скорость, а не делитель.

я частотомером не смотрел, но 921600 (не уверен правда что это именно ft232h был, но точно работало) нацело из 60МГц ,которые у FT232h есть в наличии, никак не делится.

то есть если в DCB записать сколько именно надо, драйвер сам ближайший делитель подбрать должен.

Share this post


Link to post
Share on other sites

2 hours ago, _pv said:

я частотомером не смотрел, но 921600 (не уверен правда что это именно ft232h был, но точно работало) нацело из 60МГц ,которые у FT232h есть в наличии, никак не делится.

то есть если в DCB записать сколько именно надо, драйвер сам ближайший делитель подбрать должен.

чтобы async работал, уход по частоте может быть до 6%.
Документация у них - муть, да и как то...
Залез в даташит - 
 

Data Transfer rate. The FT232H supports a data transfer rate up to 12 Mbaud when configured as an
RS232/RS422/RS485 UART interface up to 40 Mbytes/second over a synchronous 245 parallel FIFO
interface or up to 8 Mbyte/Sec over an asynchronous 245 FIFO interface. Please note the FT232H does
not support the baud rates of 7 Mbaud 9 Mbaud, 10 Mbaud and 11 Mbaud.

могли бы просто и понятно написать - поддерживаются чётко 6, 8 и 12 Мбод... Или вообще какую то таблицу напечатать.
Как будет округлятся всё что ниже, остаётся непонятным. 
Ибо работу ихнего же синтезатора частоты по непонятным причинам не сочли нужным описать.  

7. CLK30 / CLK15 / CLK7.5 – 30MHz, 15MHz and 7.5MHz clock output signal options. 

на BM / RL было 6 / 12 / 24.
Тоесть, если по аналогии, всё на четверть быстрее там крутится.

Share this post


Link to post
Share on other sites

31 minutes ago, girts said:

Ибо работу ихнего же синтезатора частоты по непонятным причинам не сочли нужным описать.  

7. CLK30 / CLK15 / CLK7.5 – 30MHz, 15MHz and 7.5MHz clock output signal options. 

на BM / RL было 6 / 12 / 24.
Тоесть, если по аналогии, всё на четверть быстрее там крутится.

не, это просто выход внешнего клока.

по сравнению с B/R у highspeed частоты заметно другие. там вроде 120МГц делится на 16 и 10 для дробного делителя.

https://www.ftdichip.com/Documents/AppNotes/AN_120_Aliasing_VCP_Baud_Rates.pdf

 

Share this post


Link to post
Share on other sites

39 minutes ago, _pv said:

не, это просто выход внешнего клока.

Бесспорно.
Но навесной кварц тот же, на 12 мгц.
В картинках ихних - у H внутри крутятся те же самые 120 мгц.
От чего и делаем вывод, что синтезаторы и делители там чуть по другому устроены.

Аа, впрочем, в упомянутом вами аппноуте - стр. 11 - всё и расписано. Весь нужный ответ на вопрос топикстартера.

Share this post


Link to post
Share on other sites

4 hours ago, girts said:

Аа, впрочем, в упомянутом вами аппноуте - стр. 11 - всё и расписано. Весь нужный ответ на вопрос топикстартера.

Я читал этот документ, вопрос был в том, можно ли настроить эти делители, не залезая в драйвера, потому что на большинстве ПК нет админских прав и любая переустановка драйверов - многодневная возня. Как, например, для СP21xx есть утилита, в которой можно настроить соответствие реальной скорости UART и задаваемой в DCB.

Share this post


Link to post
Share on other sites

12 hours ago, Priest_89 said:

Я читал этот документ, вопрос был в том, можно ли настроить эти делители, не залезая в драйвера, потому что на большинстве ПК нет админских прав и любая переустановка драйверов - многодневная возня. Как, например, для СP21xx есть утилита, в которой можно настроить соответствие реальной скорости UART и задаваемой в DCB.

А в драйвера лезть и не обязательно.
Просто к чему весь дискусс имхо сводится - да к тому, что нужно быть очень осторожным с нестандартными скоростями близко к верхнему пределу, ибо может получится совсем не ожидаемое.

То, что вы задаёте в device manager в настройках порта, вполне можно и в софте задавать при открытии порта, так адекватнее!
Ибо шнурков много, они все на одном и том же порту погут сидеть. Не одновременно, конечно.
Ессно, если не задаёте, тогда да, всё идёт по дефаулту и по настройкам.

CP21xx - ну а что толку то, если цыфры есть, а реально не работает?
С ними народ намучался в автомобильно диагностическом  деле. Ибо много всяких как бы нестандартов попадается - 8192, 10400, 15600.
Вот и через раз!
Хотя может и что поменялось с конца 2000-ых. Но тогда это была реальная проблема.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...