Перейти к содержанию
    

Bluetooth чип от фирмы CSR

Начал изучать программирование микроконтроллеров. Сделал для себя вывод, что скорость UART изменяется делителем частоты.Интуитивно понял, что копать надо в datasheet на BC417143B микросхемы.Там нашел формулу 9600 бод * 0.004096 = DEC39 = 0x27. То есть 0xFF =DEC 255 , 255/0.004096= 62200 бод.

Вот что выдает PSTool при нажатии кнопки "describe" на соответствующем разделе:

The UART's (initial) Baud rate in builds from HCI 18.X. (This PS

key's name is similar to PSKEY_UART_BAUD_RATE, used in firmware

builds before HCI 18.X.)

 

A value of 0 has a special meaning which is to enable automatic

detection of the UART baud rate from data sent by the host to the

BlueCore following a chip reset. Note that this is designed for

use with ROM devices; automatic detection of Baud rate does not

work for the DFU upgrade procedure.

 

When the system is configured to use a UART-based host transport,

i.e. if PSKEY_HOST_INTERFACE selects BCSP, H4, H5 or User (VM

access to the UART), then the UART's Baud rate is set to the value

of this PS key when the firmware boots. The PS key's value is:

 

Baud rate = pskey_value/0.004096

 

Some common values are:

38k4 baud - 157 (0x009d)

57k6 baud - 236 (0x00ec)

115k2 baud - 472 (0x01d8)

230k4 baud - 944 (0x03b0)

460k8 baud - 1887 (0x075f)

921k6 baud - 3775 (0x0ebf)

1382k4 baud - 5662 (0x161e)

 

The maximum rated speed for the UART hardware is 1.5 Mbaud, although

this key can be set to a higher value.

 

The BCCMD command "Config_UART" enables the host to set the UART

to a different Baud rate after booting, but the change is lost

when the firmware reboots.

 

 

Изменено пользователем bassizlink

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот что выдает PSTool при нажатии кнопки "describe" на соответствующем разделе:

The UART's (initial) Baud rate in builds from HCI 18.X. (This PS

key's name is similar to PSKEY_UART_BAUD_RATE, used in firmware

builds before HCI 18.X.)

 

A value of 0 has a special meaning which is to enable automatic

detection of the UART baud rate from data sent by the host to the

BlueCore following a chip reset. Note that this is designed for

use with ROM devices; automatic detection of Baud rate does not

work for the DFU upgrade procedure.

 

When the system is configured to use a UART-based host transport,

i.e. if PSKEY_HOST_INTERFACE selects BCSP, H4, H5 or User (VM

access to the UART), then the UART's Baud rate is set to the value

of this PS key when the firmware boots. The PS key's value is:

 

Baud rate = pskey_value/0.004096

 

Some common values are:

38k4 baud - 157 (0x009d)

57k6 baud - 236 (0x00ec)

115k2 baud - 472 (0x01d8)

230k4 baud - 944 (0x03b0)

460k8 baud - 1887 (0x075f)

921k6 baud - 3775 (0x0ebf)

1382k4 baud - 5662 (0x161e)

 

The maximum rated speed for the UART hardware is 1.5 Mbaud, although

this key can be set to a higher value.

 

The BCCMD command "Config_UART" enables the host to set the UART

to a different Baud rate after booting, but the change is lost

when the firmware reboots.

Кажется удалось решить проблему конфигурирования блютус адаптера в настройки 1200 бод, паритет even, 7 бит данных, стоп бит 1.Среди известных мне прошивок, в режиме 7 бит данных и паритетом even, может работать только НС-05.Для этого нужно просто перевести модуль в even, а 7 бит данных переведется автоматом, с 8 бит.Но как уже говорил выше не возможно с помощью AT команд перевести его на скорость 1200 бод.Вообщем решил с наскоку осилить программирование CRS микроконтроллеров, не получилось пока.Нашел книгу азов программирования AVR микроконтроллеров, начал читать.Вообщем понял, что у тех и у других гарвардская архитектура , то есть память делится на три вида: память программ(Flash), оперативная память(RAM), энергонезависимая память(ROM), у каждой 8-разрядной ячейки памяти есть свой адрес, с помощью которого можно производить операции с ней не зависимо от типа памяти.8 разрядные ячейки могут объединятся в 16 разрядные.Вообщем не углубляясь дальше, могу сказать, что настройки UART(параметры передачи данных) записываются в виде Адрес(регистр)=Ключ.Например с помощью программы PSTool можно менять всевозможные настройки модуля, но 7 бит данных я там не нашел, видимо в памяти записано больше ключей чем их может изменить программа.Можно делать дамп ключей в виде текстового файла.Вот отрывок:

 

// PSKEY_BDADDR

&0001 = 0050 30f5 0031 98d3

// PSKEY_COUNTRYCODE

&0002 = 0000// North America and Europe

................................................................

................................................................

// PSKEY_UART_BAUDRATE

&01be = 0005// 1200 kbaud

// PSKEY_UART_CONFIG_BCSP

&01bf = 0806

// PSKEY_UART_CONFIG_H4

&01c0 = 08a8

// PSKEY_UART_CONFIG_H5

&01c1 = 1806

// PSKEY_UART_CONFIG_USR

&01c2 = 08a8

// PSKEY_UART_TX_CRCS

&01c3 = 0001

// PSKEY_UART_ACK_TIMEOUT

&01c4 = 00fa

// PSKEY_UART_TX_MAX_ATTEMPTS

&01c5 = 0000

// PSKEY_UART_TX_WINDOW_SIZE

&01c6 = 0004

// PSKEY_UART_HOST_WAKE

&01c7 = 0004 01f4 000a 0000

// PSKEY_HOSTIO_THROTTLE_TIMEOUT

&01c8 = 0003 0d40

// PSKEY_PCM_ALWAYS_ENABLE

&01c9 = 0000// False

// PSKEY_UART_HOST_WAKE_SIGNAL

&01ca = 0000

// PSKEY_UART_CONFIG_H4DS

&01cb = 08a8

// PSKEY_H4DS_WAKE_DURATION

&01cc = 0020

// PSKEY_H4DS_MAXWU

&01cd = 0032

// PSKEY_H4DS_LE_TIMER_PERIOD

&01cf = 00fa

// PSKEY_H4DS_TWU_TIMER_PERIOD

&01d0 = 00fa

// PSKEY_H4DS_UART_IDLE_TIMER_PERIOD

&01d1 = 0032

// PSKEY_PCM_SLAVE_PROVIDE_CLOCK

&01e5 = 0000// False

&01eb = 0004

&01ec = 0007 a120 0000 01f4 0000 0000

&01ed = 0031

&01f0 = 0000

...................................................................

...................................................................

Проблема была в том, что в настройках PSTool, так же нельзя выбрать скорость 1200 бод.Но сделав дамп ключей, изменив его в ручную, через блокнот и залив его обратно добавляет новую скорость в список ключей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выкладываю Dump настроек.

dump.rar

Изменено пользователем bassizlink

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 05.03.2007 в 09:23, Bosicc сказал:

Вот залил прошивочки. Пользуйтесь. Если будут какие вопросы по ним, или вообще по чипу, то попробую помочь.

Помогите понять .

Есть BC-352 хочу сделать 
USB-SPI programer, это возможно ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/22/2016 at 6:46 PM, bassizlink said:

в настройках PSTool, так же нельзя выбрать скорость 1200 бод.Но сделав дамп ключей, изменив его в ручную, через блокнот и залив его обратно добавляет новую скорость в список ключей.

пытался для скорости 125к залить 0х200

осцыл показывает что реально 115.2к для прошывки НС-06 linvorV1.8

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...