User Tag List

Страница 15 из 22 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 217

Тема: Прикрутить YM2149F к IBM-PC?

  1. #141

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    К сожалению из говна и палок не получилось, хоть и очень хотелось... Прям почти чуть-чуть, но не совсем. Придется все-таки юзать либо контролер с хардварным юсб-стеком, либо фтди какой-нибуть, как нам советуют из болота. На ARM бы поднял за вечер, там и поднимать нечего, но хотелось чтоб люди смогли дома повторить, но не удалось, потому что арм всем хорош, кроме корпуса. Все равно благодарен всем тем, кто нечаянно следил за темой -)

  2. #142

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут провел небольшой тестик - в цикле писал 1000 байт и засек время выполнения: 1.085690 секунд. То есть скорость ~ 1000 байт/сек.....

  3. #143

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://soundcloud.com/tronix286/jok...-surgeon-final

    Короче, пришлось таки вкурить немного манов на тему USB протокола, как я ни сопротивлялся -) Поснифал USB-трафик, разобрался. Хотел сначала в след за контрол-пакетом слать дата пакет 8 байт данных, а потом просто запилил в ubr-пакет OUT передачу сразу 3 байт, вместо 1, как было раньше. Тем самым скорость передачи сразу возросла в три раза. Короче, заработало как и хотелось Все-таки удалось из говна и палок. Ура!

  4. #144

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Tronix, так что, можно собирать?
    Да! Все работает стабильно. Еще пока тестю, попробую сейчас на всякий случай на WinXP на другом стареньком ноуте. Потом скоро постараюсь оформить в первом посте всю инфу, выложу все прошивки и исходники.

  5. #145

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Один нюанс меня смущает. В PIC16F628A есть встроенный RC генератор, он может работать без внешнего кварца/генератора.
    Я не думаю. Нужна точная частота 24MHz.

  6. #146

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Tronix Посмотреть сообщение
    Все-таки удалось из говна и палок. Ура!
    Все равно какие-то призвуки есть. Это фиксится?

  7. #147

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Все равно какие-то призвуки есть. Это фиксится?
    Не знаю, я в наушниках слушаю - нормально. Возможно как и раньше, плеер перегружает и так записывает.

  8. #148

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут вчерась все-таки сделал посылку дата-блоков по 8 байт, буфер на 64 байта - короче скорость получилась вообще быстрая, может даже потом нужно будет по таймеру синхронизировать, хотя как по мне - так норм:

    https://soundcloud.com/tronix286/vis...n-98-r-e-m-i-x

    Но, обнаружилась другая достаточно неприятная проблема: через несколько тысяч фреймов ПЫК перестает реагировать на пакеты, перестает слать ACK хосту и как будто завис. Где, что зависает, как отдебажить - неведомо. Поэтому читал вчера вечером долго вслух сорцы. Пришел к выводу, что скорее всего зацикливается цикл приема бит в isr.asm:

    PHP код:
    #define USB_DPLUS   PORTB,0
    #define USB_DMINUS  PORTB,1
    #define USB_EOPCHK  PORTB,2

    RxLoop:
        
    btfsc   USB_DPLUS    
        bsf     INDF
    ,4
        btfss   USB_EOPCHK
        
    goto    Eop

        btfsc   USB_DPLUS
        bsf     INDF
    ,5
        btfss   USB_EOPCHK
        
    goto    Eop

        btfsc   USB_DPLUS
        bsf     INDF
    ,6
        btfss   USB_EOPCHK
        
    goto    Eop

        btfsc   USB_DPLUS
        bsf     INDF
    ,7
        incf    FSR
    ,F
        clrf    INDF
        
        btfsc   USB_DPLUS
        bsf     INDF
    ,0
        btfss   USB_EOPCHK
        
    goto    Eop
        
        btfsc   USB_DPLUS
        bsf     INDF
    ,1
        btfss   USB_EOPCHK
        
    goto    Eop
        
        btfsc   USB_DPLUS
        bsf     INDF
    ,2
        btfss   USB_EOPCHK
        
    goto    Eop

        btfsc   USB_DPLUS
        bsf     INDF
    ,3

        
    goto    RxLoop 
    Если смареть на оригинальную схему (у меня впрочем так же):



    То видно, что RB2 - это есть D- и D+. Так как в один момент времени не может быть оба сигнала (D- и D+) в одинаковом логическом состоянии, кроме случая, когда это конец пакета. Тогда D- и D+ оба в нуле.

    Но видимо так иногда складываются биты, что конец пакета пропускается. И тогда цикл зацикливается навечно. После того, как ПЫК перестал отвечать, если коротнуть RB2 на земелюшку, то он чудным образом начинает снова отвечать на мои ответы.

    В цикле конечно нельзя добавлять никаких новых команд, потому что он и так оптимизирован по тактам (4 команды на каждый бит), частота пыка 24МГц. Поэтому счетчик по переполнению не добавить. Думал насчет WDT, но чет вроде не нашел команд как его остановить и включить - похоже он всегда работает в данном пик, а это плохо. Я бы по входу в isr включил его, а по выходу из цикла выключил. Но полный резет девайса - это не круто, слетят все настройки USB и он по любому отвалится от шины. То есть это не решение.

    Решение мне видится только с хардварной стороны - когда там (на RB2) получился ноль, подержать его чуть-чуть. Или я не знаю. Впаял кстати вместо R2 15Kом на вышеприведенной схеме 3 Ком - немного отлегло, но не до конца. Может два часа работать, а потом возьми да и зависни.

  9. #149

    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    473
    Спасибо Благодарностей отдано 
    278
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    WDT включается на постоянку только в конфиге и во время работы его включить/отключить нельзя.
    Но можно при входе в прерывание сбрасывать вачдог (clrwdt), а в начальную инициализацию добавить проверку бита POR в регистре PCON : если он установлен, значит был сброс по питанию (тогда уходим в инициализацию), если обнулен - значит был сброс по вачдогу (тогда уходим в основной цикл программы).

  10. #150

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А сейчас вообще мистику наблюдаю, поменял в посылке wValue с 0x01 на 0x10 и уже час полет нормальный, даже на тех модулях, что стабильно висли... Здорово и интересно, но непонятно. Ладно, работает - не будем трогать.

    https://soundcloud.com/tronix286/hyp...posed-by-d-n-k
    https://soundcloud.com/tronix286/com...f-ggvg-ym2149f
    Последний раз редактировалось Tronix; 11.01.2015 в 22:14.

Страница 15 из 22 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Куплю YM2149F
    от cmari в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 13.09.2010, 00:48
  2. Хочу прикрутить NEMO IDE к моему Speccy
    от ILoveSpeccy в разделе Внешние накопители
    Ответов: 15
    Последнее: 21.04.2010, 23:40
  3. AY38910 vs YM2149F
    от AlexBel в разделе Звук
    Ответов: 1
    Последнее: 10.01.2008, 19:44
  4. Продам 2 YM2149F и ещё кое-что
    от Lounge Lizard в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 13.08.2005, 04:17

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •