-
- Ну, например для I2S на высоких скоростях пользительно. Пропускная способность шин не резиновая. Если в системе асинхронно живут несколько DMA каналов (тот же usb хост) и проц активно работает с памятью, то могут быть конфузы. Правда с том же LPC Гудвин(67 знак., 16.10.2012 13:26)
- Чет я не понимаю, как работает FIFO в данном случае. Точнее, разве он не увеличивает джиттер? - Vladimir Ljaschko(16.10.2012 14:57)
- LPC17: "Each stream is supported by a dedicated hardware channel, including source and Гудвин(369 знак., 16.10.2012 17:10)
- Звучит интересно. Vladimir Ljaschko(483 знак., 16.10.2012 17:35)
- Право не верить дано каждому :) Тем не менее в LPC17 это работает. Лично пробовал I2S на 96/192 кГц. А на 8-48 это штатно работает уже около 3 лет в пепелаце. Да еще и scatter/gather заюзан - в памяти размещена таблица дескрипторов DMA для двух Гудвин(2392 знак., 17.10.2012 08:06 - 12:04)
- Звучит интересно. Vladimir Ljaschko(483 знак., 16.10.2012 17:35)
- LPC17: "Each stream is supported by a dedicated hardware channel, including source and Гудвин(369 знак., 16.10.2012 17:10)
- мне пока DMA без FIFO хватает. Чаще нехватает самих каналов DMA и гибкости выбора источников запросов. А FIFO на SSP в STR91 оставил удручающее впечатление - koyodza(16.10.2012 13:40)
- Чет я не понимаю, как работает FIFO в данном случае. Точнее, разве он не увеличивает джиттер? - Vladimir Ljaschko(16.10.2012 14:57)
- Канал DMA может работать на частоте внутренней SRAM процессора, а внешний интерфейс на частототе периферийного модуля. - USSR(16.10.2012 13:06, )
- ну и что? Они и так работают на разных частотах - koyodza(16.10.2012 13:08)
- И тем не менее, интерфейс SPORT в BF51x подключен к шине DMA через TX FIFO = 4x32 OR 8x16 и RX FIFO = 4x32 OR 8x16. Cм, HRM, rev 1.0, Figure 19-1. "SPORT Block Diagram". - USSR(16.10.2012 13:17, )
- может ещё в Р4 каналы FIFO и DMA посчитаем? - koyodza(16.10.2012 13:19)
- Ну при чем тут P4? Данные для нескольких каналов DMA могут лежать во внутренней памяти процессора, общей для всех этих каналов DMA. Каждый канал DMA имеет программируемый приоритет обращения к этой общей памяти, и канал, который имеет в данный USSR(370 знак., 16.10.2012 13:45, )
- для этого надо рассчитывать пропускную способность и возможности системы, а не тупо ставить самый крутой проц и потом разруливать - koyodza(16.10.2012 13:52)
- Ага. "Гладко было на бумаге.." Кроме того, я почему-то больше склонен доверять опыту ADI,TI и проч., "для чего-то" предусмотревших FIFO в канале DMA в своих поделиях, нежели местным "счетоводам".. :) - USSR(16.10.2012 13:57, )
- аргументация железная: "почему-то больше склонен доверять... для чего-то предусмотревшим". А самому посчитать где чего нужно нельзя, всё ведь уже предусмотрено. Тем более нельзя подумать, зачем оно предусмотрено, ведь это означает поставить koyodza(39 знак., 16.10.2012 14:09)
- Да дело даже не в пропускной способности шины. Допустим, есть шина, у которой пропускная способность, к примеру, 120 МБайт/сек, и эта шина с запасом позволяет окучивать 10 потребителей с суммарным(!) трафиком 1 МБайт/сек. Теперь, что произойдет с USSR(399 знак., 16.10.2012 14:34, )
- Зачем как раз понятно - шина к памяти не резиновая. - =AlexD=(16.10.2012 14:17)
- Да ладно Вам. Никто не спорит, что иметь FIFO - хорошо. Но во многих случаях можно обходиться и без него. Зачем ставить дорогой проц от ADI, TI туда, где можно обойтись дешевым STM32? А где именно - нужно считать, так что зря злорадствуете. - Лeoнид Ивaнoвич(16.10.2012 14:05)
- аргументация железная: "почему-то больше склонен доверять... для чего-то предусмотревшим". А самому посчитать где чего нужно нельзя, всё ведь уже предусмотрено. Тем более нельзя подумать, зачем оно предусмотрено, ведь это означает поставить koyodza(39 знак., 16.10.2012 14:09)
- Ага. "Гладко было на бумаге.." Кроме того, я почему-то больше склонен доверять опыту ADI,TI и проч., "для чего-то" предусмотревших FIFO в канале DMA в своих поделиях, нежели местным "счетоводам".. :) - USSR(16.10.2012 13:57, )
- для этого надо рассчитывать пропускную способность и возможности системы, а не тупо ставить самый крутой проц и потом разруливать - koyodza(16.10.2012 13:52)
- Ну при чем тут P4? Данные для нескольких каналов DMA могут лежать во внутренней памяти процессора, общей для всех этих каналов DMA. Каждый канал DMA имеет программируемый приоритет обращения к этой общей памяти, и канал, который имеет в данный USSR(370 знак., 16.10.2012 13:45, )
- может ещё в Р4 каналы FIFO и DMA посчитаем? - koyodza(16.10.2012 13:19)
- И тем не менее, интерфейс SPORT в BF51x подключен к шине DMA через TX FIFO = 4x32 OR 8x16 и RX FIFO = 4x32 OR 8x16. Cм, HRM, rev 1.0, Figure 19-1. "SPORT Block Diagram". - USSR(16.10.2012 13:17, )
- ну и что? Они и так работают на разных частотах - koyodza(16.10.2012 13:08)
- Ну, например для I2S на высоких скоростях пользительно. Пропускная способность шин не резиновая. Если в системе асинхронно живут несколько DMA каналов (тот же usb хост) и проц активно работает с памятью, то могут быть конфузы. Правда с том же LPC Гудвин(67 знак., 16.10.2012 13:26)