FPGA DAC DIY - Tại sao không ?

Discussion in 'Thiết bị số' started by Scorpio, 29/5/18.

  1. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    SPAC1.jpg
    Điểm qua các chủ đề trên VNAV, đâu đó có đề cập đến FPGA DAC, filter hay DSP từ nhiều năm trước...thông tin tương đối rời rạc và không tập trung. Cũng tìm thấy khá nhiều bác trên VNAV đã thông thạo về lập trình FPGA, một số bác đã sản phẩm FPGA DAC đã chạy.

    Mạo muội em lập chủ đề này với mong muốn nhỏ nhoi:

    - Tập hợp và tìm hiểu các thông tin về FPGA, các ứng dụng trong phạm vi ứng dụng audio đặc biệt về phần chuyển đổi kỹ thuật số (DAC)
    - Xa hơn trong tương lại cùng nhau build một con DAC FPGA ..để chơi và nghịch :)

    Mời các bác cho chỉ đạo thêm..
     
    Tags:
  2. tuan1975

    tuan1975 Advanced Member

    Joined:
    28/11/17
    Messages:
    522
    Likes Received:
    149
    Em thấy có 1 bác dùng FPGA cho DSD rồi đó bác. Bác ý sử dụng thay cho mấy con ghi dịch 74HC595. Để tạo bộ lọc FIR. Còn DAC bằng FPGA. Thì em thấy cũng ít ai làm. Và em thấy nếu sử dụng FPGA vào mục đích DAC thì có vẻ đơn giản thì phải. Nhưng các bác có ý tưởng hay kết nối FPGA em xin đặt gạch theo dõi. Coding vhdl trên dòng altera và layout PCB cùng các bác. Em có mấy em này cũng chưa biết làm gì?

    20180529_142404.jpg
     
    Scorpio likes this.
  3. cutom

    cutom Advanced Member

    Joined:
    2/5/07
    Messages:
    267
    Likes Received:
    79
    Chủ đề hay đấy bác xì cọp ạ. Lấy mẫu phấn đấu là Soekris hay cao hơn nữa là Chord nhé bác!!!???
     
    Scorpio likes this.
  4. oneclicklogin

    oneclicklogin Advanced Member

    Joined:
    18/12/12
    Messages:
    1.143
    Likes Received:
    868
    Bác Gia Huy vừa làm xong DAC rồi đấy bác.
     
  5. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    ElectricC.jpg

    FPGA là gì ?

    FPGA là viết tắt của thuật ngữ tiếng anh “Field Programmable Gate Array“, nếu được dịch sang tiếng Việt là một loại vi mạch dùng cấu trúc mảng phần tử logic có thể lập trình được. Hay có thể hiểu nôm na nó là một loại chip trắng cho phép người dùng có thể tái cấu hình lại kiến trúc theo ý người dùng để thực thi một chức năng cụ thể.

    Để dễ hình dung hơn, nếu như những ai đã biết về lập trình vi điều khiển hoặc ARM, thì những vi điều khiển này như (AT89/PIC/MSP430, …) hoặc ARM SoC (STM32, …) đều là loại chip được thiết kế trên công nghệ ASIC, tức kiến trúc phần cứng do nhà sản xuất thiết kế được cố định trong quá trình sản xuất, người dùng không thể nào thay đổi hoặc chỉnh sửa được. Người kĩ sư lập trình ứng dụng hoặc lập trình firmware đều phải nghiên cứu nắm vững kiến trúc của từng loại VĐK trên để phát triển phần mềm, giải thuật tương ứng. Do đó, lập trình vi điều khiển còn được hiểu là lập trình phần mềm dựa trên phần cứng có sẵn. Còn đối với FPGA, người dùng có thể tự thiết kế lại kiến trúc phần cứng theo ý mình muốn, kèm theo xây dựng các driver tương ứng để phát triển các phần mềm ứng dụng và giải thuất tối ưu hơn.

    Như vậy, ưu điểm thứ nhất của FPGA là tính linh động đối với người dùng, giúp phát triển các giải pháp tốt hơn mà không phụ thuộc vào phần cứng của nhà sản xuất. Chúng ta có thể sử dụng FPGA để thiết kế cũng như lập trình được hầu hết các chức năng của bất kì mạng số nào. Việc so sánh ưu điểm, khuyết điểm giữa công nghệ FPGA và ASIC sẽ được thảo luận trong các chuyên mục sau.

    Cũng giống như vi điều khiển, số lần nạp FPGA hầu như không giới hạn. Dữ liệu (chương trình) nạp cho FPGA sẽ bị mất khi mất nguồn (điện) giống như RAM trong máy tính. Nếu muốn lưu giữ lại file nạp này thì cần phải có một bộ nhớ ngoài Flash/ROM(do đặc tính của loại bộ nhớ này là lưu dữ liệu cho dù có mất nguồn) để mỗi lần bật nguồn, file dạng binary sẽ tự động nạp lại vào FPGA.

    Lịch sử FPGA

    FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx vào năm 1984. Tiền thân trước đó của FPGA chính là CPLD. CPLD được cấu trúc từ số lượng nhất định các khối SPLD (Simple programmable devices, thuật ngữ chung chỉ PAL, PLA). SPLD thường là một mảng logic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớ đồng bộ (clocked register). Cấu trúc này hạn chế khả năng thực hiện những hàm phức tạp và hiệu suất không cao.

    Kiến trúc của FPGA là kiến trúc mảng các khối logic, FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000 đến 100.000 cổng logic. Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao, hay các bộ nhân cộng(multiplication and accumulation, MAC), thuật ngữ tiếng Anh là DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP.

    Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ trợ tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ (partial configuration) trong khi vẫn đảm bảo hoạt động bình thường cho các bộ phận khác.

    Nguồn : Internet
     
    tranman and dodo143 like this.
  6. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    Bác đã nghe chưa ?

    Trước đây mấy năm mấy chú @tivoi @Супер cũng có phiên bản kêu ra tiếng.. sau này đội này bỏ không phát triển thêm.
     
  7. oneclicklogin

    oneclicklogin Advanced Member

    Joined:
    18/12/12
    Messages:
    1.143
    Likes Received:
    868
    Chưa nghe. Em chủ yếu trên tinh thần diy.
     
  8. tuan1975

    tuan1975 Advanced Member

    Joined:
    28/11/17
    Messages:
    522
    Likes Received:
    149
    Theo ý kiến của em là chúng ta phải lựa chon dc DAC trước dòng nào nghe hay sau đó chúng ta bàn tiếp, ghép với FPGA, rồi từ máy tính đóng gói LAN, USB, bluetooth ....
     
  9. dangkyhai

    dangkyhai Advanced Member

    Joined:
    12/9/14
    Messages:
    1.072
    Likes Received:
    873
    Gì thì chưa chứ thấy chíp nhiều cẳng là tốt. Hóng đi tàu ngầm.
     
  10. tivoi

    tivoi Advanced Members

    Joined:
    14/12/05
    Messages:
    2.326
    Likes Received:
    24
    Location:
    HCMC
    fpga em nghĩ có 2 3 việc dành cho nó
    1. buffer reclock vs I2S
    2. digital volume
    3. dsd decode

    và dĩ nhiên công nghệ DAC sẽ là r2r
     
    Nambill and Scorpio like this.
  11. BachDuong

    BachDuong Moderator

    Joined:
    2/12/05
    Messages:
    4.998
    Likes Received:
    875
    Location:
    Hanoi
    Lâu lắm mới thấy chú em xuất hiện ;)

    R2R xương nhất là khoản R. R không có độ chính xác cao thì... thua
     
  12. tivoi

    tivoi Advanced Members

    Joined:
    14/12/05
    Messages:
    2.326
    Likes Received:
    24
    Location:
    HCMC
    vâng em đã mua miliom metter và dừng ở khoản đó
    em chưa rảnh ngồi match 24x3x2 con điện trở sai lệch nhau 1/100 :(

    mà tàu có điện trở 0.01% nên ko thành vấn đề vấn đề ở khoản đầu tiên :)

    với dac pcm chạy i2s fpga làm 2 việc rất tốt là relock fifo và digital volume
     
    Last edited: 29/5/18
    tranman likes this.
  13. trung224

    trung224 Advanced Member

    Joined:
    24/9/15
    Messages:
    465
    Likes Received:
    771
    Em nghĩ FPGA còn 1 điểm rất quan trọng nữa là sự thoải mái trong việc sử dụng digital filter phục vụ oversampling. Về thiết kế DAC có một điểm quan trọng là các nhà thiết kế thường cố gắng oversampling tất cả tín hiệu đầu vào lên một mức tần số nào đó để có thể đảm bảo tối ưu hóa layout và giảm nhiễu trên mạch. Các chip DAC đều có digital filter nhưng do những giới hạn về khả năng tính toán nên chất lượng của filter bị ảnh hưởng. Chip FPGA ngày càng mạnh nên nhà thiết kế có thể tùy biến thoải mái hơn, và việc nâng cấp digital filter cũng dễ hơn.
     
    mtbc and BachDuong like this.
  14. tivoi

    tivoi Advanced Members

    Joined:
    14/12/05
    Messages:
    2.326
    Likes Received:
    24
    Location:
    HCMC
    đoạn fir bằng 595 DAC bằng fpga em ko hiểu lắm, nếu ngược lại thì em hiểu lọc bằng fpga còn dac bằng fpga em chưa hiểu

    nhân tiện em nhớ mấy con max II là cpld ?
     
  15. HHK

    HHK Advanced Member

    Joined:
    5/6/10
    Messages:
    629
    Likes Received:
    81
    Location:
    Between heaven and hell
    Em thấy nó ghi là "non-volatile CPLDs is based on a 0.18-μm"
    mớ bòng bong của em đây
    altera.jpg altera+.jpg
     
    oneclicklogin and Scorpio like this.
  16. tuan1975

    tuan1975 Advanced Member

    Joined:
    28/11/17
    Messages:
    522
    Likes Received:
    149
    Em sợ nhất là múa dìu qua mắt thợ. Mong các bác chỉ giáo thêm!
    20180530_081936.jpg
     
    BachDuong likes this.
  17. tivoi

    tivoi Advanced Members

    Joined:
    14/12/05
    Messages:
    2.326
    Likes Received:
    24
    Location:
    HCMC
    để khởi sự ngoại trừ tools fpga cpld em thâý cần mấy tools sau
    amanero - chưa có> cbị sắm
    audio spectrium - chưa có > chắc di mượn
    THD meter - chưa có> có thể mượn chỗ Anh Via

    còn cần thêm tools gì ko các cụ cho ý kiến
     
    mtbc likes this.
  18. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    FPGA_6.jpg

    FPGA – tương lai mới cho DAC chất lượng cao


    FPGA là khái niệm "đã từng nghe vài lần" với những bạn đang học tập, nghiên cứu chuyên ngành điện tử. Nhưng với phần lớn dân audiophile, đây vẫn là một điều còn khá mới mẻ và ... khó hiểu. Nhu cầu tất yếu Như chúng ta đã biết, mọi thiết bị DAC nhắc đến thường ngày dù có cả trăm ngàn loại với hàng sa số các nhà sản xuất khác nhau, thì cũng đều được thiết kế dựa trên linh hồn là chip DAC (Digital-to-Analog Coverter) với nhiệm vụ biến đổi các luồng dữ liệu số nhận được trở thành tín hiệu âm thanh analog có thể nghe được. Hiện nay đa phần các chip DAC phổ biến trên thị trường đều là các sản phẩm được sản xuất hàng loạt và được gói gọn trong phạm vi một số nhà sản xuất như AKM (Asahi Kasei Microdevices), Burr-Brown PCM (Texas Instruments), Wolfson WM (Wolfson Microelectronics) hoặc ESS Sabre (ESS Technology), .... Đây đều là những cái tên có tiềm lực tài chính mạnh và đủ khả năng để có thể tự sản xuất hoặc đặt hàng gia công các loại IC bán dẫn của riêng mình với số lượng lớn và giá thành rẻ.

    Xét về góc độ kĩ thuật, thì việc thiết kế ra một con chip DAC chất lượng cao không quá phức tạp và khó khăn như như một con vi xử lý - và thực tế là hiện nay trên thế giới, không ít đơn vị nghiên cứu, hoặc thậm chí là một cá nhân, hoàn toàn có đủ kiến thức và khả năng để làm được việc đó. Trở ngại lớn nhất lại đến từ khâu sản xuất khi mà việc này đòi hỏi số lượng sản xuất rất lớn và chi phí đầu tư ban đầu khổng lồ đến mức chỉ có những ông lớn trong ngành công nghiệp bán dẫn như đã kể trên mới có khả năng đầu tư. May mắn thay, cánh cửa vẫn chưa hoàn toàn đóng lại với những con người tài năng như vậy. FPGA chính là vị cứu tinh xuất hiện đúng lúc và đang làm thay đổi từng bước thị trường thiết bị digital audio hiện nay. FPGA là cái gì ?

    Các chip DAC thành phẩm từ các nhà sản xuất mình kể trên, về bản chất nó là một loại IC được cấu thành từ các cổng logic được sắp xếp và thiết kế để có thể hoạt động được theo các chức năng định trước và chủ ý của chính nhà sản xuất đó. Đây là loại chip bán dẫn có cấu trúc cố định và không thể thay đổi được. Trong khi đó, FPGA là một dạng IC với cấu trúc logic có thể thay đổi được. Khái niệm về FGPA xuất hiện lần đầu tiên vào năm 1980, sau đó nhanh chóng được phát triển và thương mại hóa trong các ngành viễn thông chuyên dụng, nhưng phải đến đầu thế kỉ 20 thì FPGA mới bắt đầu xuất hiện trực tiếp trên các sản phẩm điện tử dân dụng. Hiện nay, các loại FPGA được phát triển và sản xuất chủ yếu bởi 2 ông lớn là Xilinx và Altera, ngoài ra còn có sự tham gia của Lattice, Actel (nay là Microsemi) và SiliconBlue.

    FPGA_4.jpg
    Về bản chất, việc thay đổi cấu trúc logic trên FPGA có thể thực hiện được bằng các câu lệnh lập trình trên máy tính. Mặt khác, mật độ tích hợp các cổng logic trên FPGA hiện nay khá lớn, có thể lên đến con số hàng tỷ - tức là tương đương với phần lớn các IC bán dẫn hiện tại. Nhờ vậy, nếu bạn có trong tay một con chip FPGA với các công cụ và phần mềm thích hợp, bạn hoàn toàn có thể biến FPGA thành một con IC số với chức năng hoạt động y hệt như IC số thứ thiệt được sản xuất hàng loạt bởi các nhà máy bán dẫn quy mô lớn. Vậy rốt cục FPGA có ích gì trong việc chế tạo DAC ? Sau một đống lý thuyết dài ngoằng ở phần trên, thì mọi người có thể hiểu sơ sơ rằng, hoàn toàn có thể tái tạo lại hoặc thiết kế mới một con IC với chức năng định trước bằng cách sử dụng FPGA. Nói cách khác, nếu bạn nắm trong tay toàn bộ thiết kế logic của một con chip DAC ES9018 và có khả năng sử dụng FPGA, bạn hoàn toàn có thể biến chip FPGA đang có trong tay thành một IC ES9018 "clone version" với các chức năng và cách thức xử lý tín hiệu y hệt. Hoặc xa hơn, nếu bạn đủ khả năng và đầu óc để có thể thiết kế ra một con DAC với cách thức xử lý tín hiệu riêng của mình và tự tin rằng nó sẽ cho ra âm thanh có thể sánh được với các loại chip DAC của các nhà sản xuất lớn, bạn hoàn toàn có thể hiện thực hóa điều đó bằng FPGA. Tất nhiên FPGA không phải là công nghệ hoàn hảo và vẫn còn nhiều nhược điểm, đó là tốc đọ thực thi chậm hơn và giá thành tính trên mỗi đơn vị chip cao hơn kha khá nếu so với IC bán dẫn sản xuất hàng loạt. Nhưng xét tới ứng dụng trong lĩnh vực chuyển đổi tín hiệu số - tương tự như DAC, những vấn đề nêu trên hoàn toàn có thể bỏ qua.

    Với những lợi thế như vậy, FPGA nghiễm nhiên trở thành sự lựa chọn hoàn hảo dành cho những cá nhân hoặc doanh nghiệp nhỏ, những người muốn tạo ra một dòng DAC với thiết kế của riêng mình và có thể thương mại hóa thành sản phẩm dễ dàng với số lượng không lớn và chi phí đầu tư thấp hơn rất nhiều so với việc đặt hàng gia công IC số lượng lớn từ các nhà máy công nghiệp. Rất nhiều sản phẩm trong số này đã chứng minh được hiệu quả và chất lượng âm thanh của mình với việc được công nhận rộng rãi bởi cộng đồng yêu âm thanh trên toàn thế giới. Hãy cùng điểm qua một vài cái tên nổi bật với các sản phẩm FPGA-based DAC như vậy:

    1. Chord Electronics Ở Việt Nam, hẳn cộng đồng chơi âm thanh không còn xa lạ gì với những cái tên Chord Hugo hoặc Chord DAVE. Đây đều là những sản phẩm đến từ Chord Electronics và cũng là 2 đại diện tiêu biểu cho dòng DAC sử dụng khối giải mã do hãng tự thiết kế trên nên nền FPGA của Xilinx. Cả 2 dòng DAC này hỗ trợ giải mã âm thanh chất lượng cao lên đến DSD128 và đều được đánh giá rất cao về khả năng tái tạo âm thanh với độ chi tiết cao, khả năng bóc tách lớp nhạc cụ ấn tượng và chính xác.

    FPGA_1.jpg

    2. PS Audio Với chiếc desktop DAC mang tên PS Audio DirectStream và sở hữu cái giá cao ngất ngưởng - 5996 USD, đây xứng đáng là minh chứng cho thấy FPGA cũng hoàn toàn đủ khả năng để chen chân vào đất hi-end vốn yêu cầu cực kì khắt khe về chất lượng. Có vẻ Xilinx rất được lòng các nhà sản xuất thiết bị audio khi mà PS Audio cũng chọn đích xác chip Spartan-6 để gửi gắm niềm tin cho sản phẩm của mình.
    FPGA_2.jpg 3. NAD Là một ông lớn trong mảng Hi-end audio, nhưng NAD cũng sử dụng FPGA cho rất nhiều sản phẩm DAC của mình, tiêu biểu là dòng desktop DAC mang tên NAD M51. Đây là sản phẩm đem đến chất lượng âm thanh vượt trội với khả năng giải mã DSD natively hoàn toàn cũng như PCM với chất lượng tối đa lên đến 35 bit - 844 kHz. Sản phẩm được bán với giá 2000 USD tại thời điểm mới ra mắt và hiện cũng đã xuất hiện ở Việt Nam.

    FPGA_3.jpg
    Nguồn: https://stereo.vn/tin-tuc/xu-huong/...uong-lai-moi-cho-dac-chat-luong-cao-2016.html
     
  19. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    Chú bỏ bớt một con bồ ... có hết luôn
     
  20. tuan1975

    tuan1975 Advanced Member

    Joined:
    28/11/17
    Messages:
    522
    Likes Received:
    149
    Rút cục bác chủ thớt thích em dac nào? Để em download datashseet coi. Nghe thoáng đâu đó là ES9018?
     
  21. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    ESS 9018 đời hơi lâu rồi ... giờ mà nghịch thì ESS9038/ AKM4497 chứ
    ESS nó dấu biệt technical data sheet

    Phần FPGA theo thiển ý của em tập trung vào mấy function
    - Nhận I2S ( Bọn Amanero, xmos làm quá tốt phần giao tiếp với PC rồi)
    - Quản lý I/O đầu vào
    - Conversion
    - Upsampling

    Đoạn khó tính sau
    - Digital Filter
    - DSP, Crossover
    - Tích hợp với mấy con SOC như Raspbery Pi, Cubox...

    Liệu có tham quá không :)
     
    tivoi likes this.
  22. tivoi

    tivoi Advanced Members

    Joined:
    14/12/05
    Messages:
    2.326
    Likes Received:
    24
    Location:
    HCMC
    cuối cùng vẫn dùng chip DAC asic, fpga làm ctác xử lí tín hiệu số thoai ợ?
     
    Scorpio likes this.
  23. Scorpio

    Scorpio Moderator

    Joined:
    2/12/05
    Messages:
    7.242
    Likes Received:
    3.315
    Location:
    VNAV
    Thì DAC phía sau có thể là R2R hoặc DSC chẳng hạn
     
  24. mtbc

    mtbc Advanced Member

    Joined:
    11/9/06
    Messages:
    6.839
    Likes Received:
    2.345
    Location:
    Q3, Saigon
    Em thấy trong các card âm thanh pro cũng xài Spartan phổ biến
     
  25. tuan1975

    tuan1975 Advanced Member

    Joined:
    28/11/17
    Messages:
    522
    Likes Received:
    149
    FPGA mà ko làm xử lý số tín hiệu thì em đó cũng ko vui các bác nhỉ? Nếu dc ta chơi ghép nối ngoại vi các loại tống vào 1 con FPGA thôi các bác. Cho đỡ cồng kềnh!
     
    Scorpio likes this.
Tags:

Share This Page

Loading...