1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Thiết kế card PCI ?

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi ahuy82, 11/10/2003.

  1. 0 người đang xem box này (Thành viên: 0, Khách: 0)
  1. Quen_mang_kinh

    Quen_mang_kinh Thành viên quen thuộc

    Tham gia ngày:
    23/05/2002
    Bài viết:
    542
    Đã được thích:
    1
    Hì hì thế có vui vẻ hơn không!
    Về những cái khác không tranh luận với bác.
    Chỉ trả lời câu hỏi mình đưa ra hôm trước thôi:
    Nếu muốn chia tần từ 32MHz thì 74LS90 - 92 - 93 có thần số Max đúng bằng 32. Nếu bác nào chắc chắn IC mình mua sản xuất tại Nhật thì có thể sử dụng.
    Còn nếu không cố gắng tìm 74S hoặc 74F để làm bộ chia. Ở chợ Nhật tảo có bán một số FF thuộc loại này.
  2. misery

    misery Thành viên mới

    Tham gia ngày:
    18/02/2003
    Bài viết:
    1.437
    Đã được thích:
    0
    Các pác nói hay và ... dài quá .. xin phép hỏi các bác... có bác nào làm thành công card PCI & Driver chưa/ nếu đã thành công thì xin chỉ giáo cho cái ... công nghệ đó với.
    ____Con trai của thần sầu___________________
  3. flyingmagician

    flyingmagician Thành viên rất tích cực

    Tham gia ngày:
    16/03/2002
    Bài viết:
    1.720
    Đã được thích:
    1
    tôi mới vào box này xin được chỉ giáo, có vài thắc mắc muốn hỏi, hiện tại ở VN có thể sản xuất được các mạch PCI hay PCIe không? Nếu ai biết tên các công ty sản xuất mạch chỉ giùm thì tốt quá. Ở VN có sản xuất được mạch có 12 layers ko?
    Cám ơqn các bác
  4. txnghia

    txnghia Thành viên mới

    Tham gia ngày:
    13/10/2003
    Bài viết:
    216
    Đã được thích:
    0
    Mới đây mình làm xong một dự án PCI dùng FPGA. Đại khái là lập trình và làm mạch cho một FPGA, tạo giao diện từ mạng PCI của một máy tính với các thiết bị ngoại vi. Nghi thức giao diện khá phức tạp PCI, nhờ FPGA, được chuyển đổi thành nghi thức giao diện quen thuộc đơn giản để dễ dàng nối với các thiết bị ngoại vi. Các thiết bị ngoại vi trong dự án là bộ điều khiển động cơ, đèn, cổng nối tiếp, cổng song song, bộ nhớ, và các cổng ra/vào . Thiết bị ngoại vi còn là các bộ thu nhập dữ liệu từ hệ thống định vị vệ tinh, hình ảnh và nhiệt độ, và mạng của một vi điều khiển khác.
    Sau đây là bài tóm gọn PCI
    Mạng PCI là mạng khác phức tạp được khai triển chừng 15 năm trước nhằm nâng hiệu quả truyền thông tin giữa các thiết bị trong máy và CPU. Đến hôm nay, mạng PCI 32-bit, 33 MHz đã gần như thay thế mạng ISA 16-bit, 8 MHz. Khả năng mạng PCI vượt trội vừa ở tốc độ truyền tải và vừa ở sự tiện dụng. Mạng PCI có khả năng Plug & Play, một thiết bị (hay các thẻ dùng mạng) khi được cắm vào mạng PCI, thiết bị được nhận diện và chương trình điều khiển cho thiết bị cắm vào được tải lên, sẵn sàng chạy.
    Sau này người ta phát triển thêm mạng PCI gọi là PCI-X (PCI Extended: PCI mở rộng). Mạng PCI được nâng lên 64-bit và xung truyền có thể lên trên 100MHz.
    Mạng ISA có mạng địa chỉ và mạng dữ kiện riêng biệt. Mạng PCI dùng chung mạng địa chỉ và dữ kiện.
    Trong khi tính tự nhiên giao diện trong mạng ISA truyền tải từng dữ kiện một với mạng địa chỉ và mạng dữ kiện riêng biệt thì mạng PCI truyền tải theo một chuỗi, gởi ra một địa chỉ sau đó là một chuỗi dữ kiện liên tiếp. Do đó hiệu suất truyền rất cao.
    Vì sự tiện dụng và tốc độ đó làm cho mạng PCI phức tạp hơn. Không như mạng ISA để nối ISA với một thiết bị nào đó, ta có thể làm một mạch đơn giản, chỉ cần giải mã địa chỉ là ta có khả năng truyền tại dữ kiện trong mạng.
    Thiết bị nối vào mạng PCI được phân làm 2 loại. Một có khả năng làm Chủ mạng, một là Tớ (Slave). PCI chủ có khả năng khởi động một quá trình truyền tải, trong khi đó PCI tớ chỉ thì không, chỉ làm theo lệnh của PCI chủ trong mạng. Trong mạng PCI có thể có một hay nhiều thiết bị PCI chủ và tớ.
    Mạng PCI cần các thiết bị nối vào mạng phải thỏa các điều điện về thời gian (timing), xung đồng bộ, vùng cấu hình, quá trình trao đổi thông tin qua lại giữa thiết bị và mạng. Khi một máy tính khởi động, mạng PCI sẽ quét trên mạng xem có thiết bị nào. Khi một thiết bị PCI được dò ra, chương trình khởi động sẽ lấy thông tin về thiết bị đó. Thông tin được chứa trong thiết bị PCI được gởi ra mạng. Đó là các thông tin như về nhà sản xuất, version, ... và quan trọng là khoảng địa (address space) mà thiết bị đó cần. Sau đó chương trình khởi động tính toán và sẽ gán cho các thiết bị PCI trong mạng một vùng địa chỉ với địa chỉ nền (base address). Và thiết bị PCI đó chỉ được truyền tải qua mạng trong khoảng địa chỉ đó mà thôi. Ví dụ một thẻ video cần 1MB địa chỉ, khi cắm vào mạng, chương trình khởi động sẽ dành cho thẻ đó một vùng địa chỉ còn trống trong mạng , ví dụ như từ 0x01000000 đến 0x0100FFFF, trong đó địa chỉ nền là 0x01000000. Thẻ video nhận giá trị địa chỉ này và tạo cấu hình, cho phép thẻ chỉ truyền tải trong vùng địa chỉ đó thôi.
    Hiện thời mình biết có 2 cách để nối nối thiết bị ngoại vi với mạng PCI. Một làm dùng các chip PCI có rất nhiều trên thị trường. Chức năng của các chip này là đổi các giao diện phức tạp của PCI thành các giao diện đơn giản. Sau đó các thiết bị hay các mạch ứng dụng nối với chip này.
    Cách thứ hai là dùng FPGA (Field Programmable Gate Array). Thật ra cách này chỉ là cách tự tạo mạch chuyển đổi phức tạp thành đơn giản, có chức năng giống như là các chip làm sẵn. Nhưng dùng là FPGA, người thiết dễ dàng thay đổi, thêm vào, bổ xung cho dự án. Lập trình cho FPGA trở thành một thiết bị có khả năng giao diện với mạng PCI cũng không phải là dễ nên các nhà sản xuất cũng có dịp bán thêm các sản phẩm trí tuệ, các chương trình tạo PCI cho FPGA. Nó không rẻ đâu, chừng 2000 đô US.
    Nếu ai muốn làm một thiết bị PCI, có thể truy cập vào trang của hãng Lattice (http://www.latticesemi.com/) đọc tài liệu về PCI và đặc biệt là có mã chương trình tạo giao diện PCI cho FPGA, không tốn tiền. Mình đã làm giao diện PCI dùng mã này và đã thành công. Cần gì thì liên lạc thêm.
    Nghia

Chia sẻ trang này