User Tag List

+ Trả lời chủ đề
Trang 1/4 123 ... CuốiCuối
Hiện kết quả từ 1 tới 10 của 40

Chủ đề: Giới thiệu về PSoC

  1. #1
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định Giới thiệu về PSoC

    Giới thiệu về PsoC
    Giới thiệu
    1. Tổng quan hệ thống
    2. CPU
    3. Khối tạo dao động
    4. Công suất tiêu thụ của vi điều khiển
    5. Reset.
    6. Các chân vào/ra số
    7. Các chân vào/ra tương tự
    8. Truy nhập vào các khối chức năng số lập trình được
    9. Các khối có chức năng số lập trình được
    10.Các khối có chức năng tương tự lập trình được
    11.Khối tạo điện áp tham chiếu
    12.Chế độ kích
    13.Bộ nhân cộng MAC
    14.Bộ suy giảm tần số lấy mẫu - Decimator
    15.Khối điều khiển I2C (Intel IC Bus)
    16.Khối điều khiển ngắt
    17.Không gian địa chỉ


    Giới thiệu

    Khi phát triển các ứng dụng phức tạp, chúng ta thường cần thêm các khối ngoại vi như bộ khuếch đại thuật toán, các bộ lọc, các bộ định thừoi, mạch logic số, các khối chuyển đổi AD-DA v.v… Việc thiết lập thêm các khối ngoại vi là một việc khó khăn, các thành phần mới sẽ chiếm thêm diện tích, yêu cầu phải được xem xét cẩn thận trong quá trình thiết kế bản mạch in (PCB), tăng công suất tiêu thụ … Tất cả các yếu tố này ảnh hưởng đáng kể đến giá thành và thời gian phát triển một dự án.
    Sự xuất hiện của PsoC đã giúp cho giấc mơ của các nhà thiết kế trở thành hiện thực, thiết lập các dự án chỉ trên 1 chip.

    PSoC: Programmable System on Chip

    PSoC (Programmable System on Chip) giới thiệu một khái niệm hoàn toàn mới cho các ứng dụng vi điều khiển. So với các vi điều khiển 8-bít tiêu chuẩn, các chip PsoC có thêm các khối tương tự và số lập trình có khả năng lập trình được, chúng cho phép việc thiết lập một số lượng lớn các ngoại vi.
    Các khối số chứa một số các khối số nhỏ hơn có khả năng lập trình được có thể được cấu hình cho các ứng dụng khác nhau. Các khối analog được sử dụng cho việc phát triển các thành phần analog như các bộ lọc tương tự, các bộ so sánh. Các bộ chuyển đổi AD-DA.

    Có một số các họ PsoC khác nhau cho phép bạn lựa chọn phụ thuộc vào yêu cầu của dự án. Sự khác nhau giữa các họ PsoC là số lượng các khối A/D có thể lập trình được và số lượng các chân vào ra. Phụ thuộc vào các họ vi điều khiển, PsoC có thể có từ 4 đến 16 khối số và từ 3 đến 12 khối tương tự có khả năng lập trình được.

    Các đặc điểm của PSoC microcontrollers

    Một số đặc tính nổi bật của vi điều khiển - PsoC
    - Khối nhân công, bộ nhân cứng 8x8 cho kết quả lưu trong thanh ghi cộng 32 bít
    - Có khả năng thay đổi điện áp hoạt động 3.3V đến 5V
    - Khả năng cung cấp điện áp thấp 1V
    - Khả năng lựa chọn tần số nhờ lập trình.
    Các khối lập trình cho phép bạn thiết lập :
    - Bộ nhớ 16K bytes lập trình được
    - 256 bytes RAM
    - Chuyển đổi ADC độ phân giả tối đa 14 bít
    - Chuyển đổi DAC độ phân giải tối đa 9 bít
    - Khuếch đại điện áp lập trình được
    - Các bộ lọc và so sánh lập trình được
    - Các bộ đình thời và bộ đếm 8-16-32 bít
    - Khối tạo mã CRC và mã giả ngẫu nhiên
    - Hai khối UART song công
    - Các thiết bị SPI
    - Lựa chọn các kết nối cho tất cả các chân đầu ra
    - Lựa chọn việc kết hợp các khối chức năng
    - Lựa chọn cho việc lập trình trên vùng bộ nhớ xác định và ghi có bảo vệ
    - Các chân I/O đều có các chế độ Pull up, Pull down, High Z, Strong, hoặc Open pin state
    - I2C Slaver hoặc Master và Multi-Master có tốc độ lên tới 400KHz
    - Mạch giám sát tích hợp
    - Khối tạo điện áp tham chiếu chính xác
    Lần sửa cuối bởi nothingtolose; 10-07-2005 lúc 10:52 AM

  2. #2
    Stanley Ipkiss Avatar của The Fool
    Tham gia ngày
    Jul 2003
    Bài gửi
    867

    Mặc định

    Ok, vậy là đã hiểu các feature của PSoC. Bây giờ để bắt đầu một ứng dụng sử dụng PSoC thì cần làm những bước nào? PSoC có thể mua ở đâu? Development Kits thì sao? hihi anh nothing cho một bài tiếp nhỉ :p Anh cho vài cái hình lên đi
    Lần sửa cuối bởi The Fool; 10-07-2005 lúc 02:08 PM
    Học như nghịch thủy hành châu, bất tiến tất thoái.
    Tâm như bình nguyên mục mã, dị phóng nan truy.


  3. #3
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    Quote Nguyên văn bởi Sgt. Pepper
    Ok, vậy là đã hiểu các feature của PSoC. Bây giờ để bắt đầu một ứng dụng sử dụng PSoC thì cần làm những bước nào? PSoC có thể mua ở đâu? Development Kits thì sao? hihi anh nothing cho một bài tiếp nhỉ :p Anh cho vài cái hình lên đi
    Đã gửi cho chú rồi, còn viết tiếp về PSoC thì tớ chưa có time, cố gắng viết tiếp vậy.

  4. #4
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    1. Tổng quan hệ thống :

    Các vi điều khiển PsoC dựa trên kiến trúc CISC 8-bit. Cấu trúc chung của chúng bao gồm các khối sau đây :


    Khối CPU : là trung tâm của vi điều khiển có chức năng thực hiện lệnh và điều khiển chu trình hoạt động (workflow) của các khối chức năng khác

    Khối tạo tần số dao động : tạo ra các tần số thích hợp cung cấp cho CPU hoạt động cũng như cung cấp một tập hợp các tần số khác nhau cho các khối có chức năng lập trình được. Các tần số được tạo ra dựa trên tần số tham chiếu bên trong PsoC hoặc được cung cấp từ bên ngoài PsoC.

    Khối điều khiển Reset : kích hoạt cho vi điều khiển hoạt động cũng như giúp hồi phục trạng thái hoạt động bình thường của VDK khi xảy ra lỗi.

    Bộ định thời Watch-Dog : được sử dụng để phát hiện ra các vòng lặp vô hạn trong chương trình.

    Bộ định thời Sleep : có thể kích hoạt vi điều khiển theo chu kì để thoát ra khỏi chế độ tiết kiệm công suất. Nó cũng có thể được sử dụng như một bộ định thời thông thường.

    Các chân vào/ra : giúp cho việc giao tiếp giữa CPU và các khối chức năng số/tương tự lập trình được cũng như giao tiếp với ngoại vi.

    Khối chức năng số : có khả năng lập trình được cho phép người sử dụng tự cấu hình nên các thành phần số tùy biến.

    Khối chức năng tương tự : có khả năng lập trình được cho phép người sử dụng tự cấu hình nên các thành phần tương tự như các bộ chuyển đổi dữ liệu AD/DA, các bộ lọc, bộ thu nhận mã đa tần rời rạc DTMF, bộ đảo, các bộ khuếch đại thuật toán OA.

    Khối điều khiển ngắt : có chức năng xử lý các yêu cầu ngắt trong trường hợp cần thiết.

    Khối điều khiển I2C : giúp cho PsoC giao tiếp với các phần cứng khác theo chuyẩn I2C

    Khối tạo điện áp tham chiếu : cần thiết cho các thành phần analog và nằm bên trong các khối tương tự có khả năng lập trình được.

    Bộ nhân tổng MAC : thực hiện các phép nhân có dấu 8 bít

    Hệ thống SMP : có thể được sử dụng như 1 phần của bộ chuyển dổi điện áp. Ví dụ, nó có thể cung cấp công suất cho 1 VDK hoạt động chỉ bằng 1 pin 1.5V duy nhất.
    Lần sửa cuối bởi nothingtolose; 12-07-2005 lúc 02:28 AM

  5. #5
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    2. CPU

    Trong suốt quá trình thực hiện CT, các lệnh được nap trong bộ nhớ chương trình (bộ nhớ nhanh dạng flash) giống như các VDK thông thường. CPU tìm nạp 1 lệnh tại 1 thời điểm từ bộ nhớ CT, giải mã lệnh và thực hiện các chức năng tương ứng. CPU có 5 thanh ghi trong là PC (Program Counter- Thanh ghi đếm CT) , SP(Stack Pointer- Thanh ghi con trỏ stack), A(Accumulator-Thanh ghi tích lũy), X(Index-Thanh ghi chỉ số), và F(Flag-Thanh ghi cờ trạng thái) được sử dụng bởi ALU và khối giải mã lệnh, chúng cũng được sử dụng kết hợp trong quá trình thực hiện lệnh.


    Các thanh ghi trong của CPU

    Thanh ghi đếm CT - Program counter (PC) : đuợc dùng như 1 con trỏ lưu trữ địa chỉ của lệnh sẽ được thực hiên tiếp theo. Với mỗi một câu lệnh mới, giá trị của PC sẽ trỏ vào địa chỉ của lệnh tiếp theo trong bộ nhớ CT, lệnh này sẽ được giải mã và thực thi.

    Thanh ghi con trỏ stack - Stack pointer (SP) : lưu trữ địa chỉ của bộ nhớ RAM, là nơi mà dữ liệu được ghi vào hoặc đọc ra nhờ các lệnh PUSH và POP tương ứng. Khi những lệnh này được thực hiện, giá trị của SP sẽ tự động tăng hoặc giảm tương ứng.

    Thanh ghi tích lũy - Accumulator register (A) : là thanh ghi chính được dùng trong các thuật toán, các phép toán logic hoặc trao đổi dữ liệu.

    Thanh ghi chỉ số - Index register (X) : có thể được sử dụng như thanh ghi tích lũy trong một số lớn các lệnh. Thanh ghi chỉ số X cũng được sử dụng để lưu trữ chỉ số địa chỉ (chỉ số trong các vòng lặp)

    Thanh ghi cờ trạng thái - Flag register (F) : Các bít của thanh ghi này mô tả các kết quả sau khi một lệnh được thực hiện. Nó có 1 vai trò trong việc lựa chọn 1 trang(page) bộ nhớ RAM khi vi điều khiển PsoC có nhiều hơn 256 byte RAM. Bít trạng thái Zero(Z) chỉ ra thanh ghi tích lũy lưu giữ giá trị 0, trong khi bít nhớ Carry(C) chỉ ra rằng các phép toán logic hoặc các thuật toán được thực hiện có nhớ dữ liệu.

    Đơn vị toán học và logic - Arithmetic logic unit (ALU) : Là thành phần chuẩn hóa của CPU, được sử dụng để thực hiện các phép toán +, -, dịch trái/phải cũng như các phép toán logic. Dữ liệu xử lý bởi các lệnh này có thể được lưu trong các thanh ghi trong A , X hoăck bộ nhớ RAM trong.

    Lưu ý : PSoC chỉ có 5 thanh ghi nhưng rất linh hoạt khi lập trình do PSoC có RAM nội thời gian truy xuất nhanh cho nên khi thực hiện trao đổi dữ liệu có thể thực hiện lưu trữ/hoặc truy xuất trực tiếp vào RAM nội theo các mode truy xuất địa chỉ mà vẫn đạt được hiệu suất mong muốn.
    Lần sửa cuối bởi nothingtolose; 12-07-2005 lúc 02:28 AM

  6. #6
    binhjuventus
    Guest

    Mặc định

    Bác cho em hỏi, em hiểu khá đơn giản thôi, không biết có đúng không.

    Ngoài các chân nguồn ra, PSoC chẳng qua chỉ là MCU có khả năng tự định nghĩa các chân ra của mình thông qua lập trình (Các hỗ trợ ngoại vi thì không nói làm gì vì MCU hoàn toàn có thể tích hợp được như PSoC)???

  7. #7
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    Cái đó không đúng AVR hay Atmega cũng chỉ gọi là MCU còn PSoC là SoC, ưu điểm của SoC là công suất tiêu thụ thấp, tích hợp ngoại vi và bộ nhớ on chip, thuận tiện cho việc phát triển ứng dụng, thêm tính năng lập trình được (giống PLD) nên PSoC có ưu điểm hơn MCU truyền thống. Nói thế không hẳn là PSoC ko có nhược điểm, thanh ghi ít nên lập trình phức tạp, thứ hai IDE của PSoC ko cung cấp C(dùng Image Craft thì viết C cho PSoC được) mà chỉ ASM ...

    So sánh khối số thì PSoC có hẳn 1 block gọi là communication có thể dùng để truyền thông, như tạo CRC, tạo mã ngẫu nhiên, điều chế FSK bằng PSoC ....

    Về tương tự thì MCU tích hợp thua hẳn, bỏ qua AD/DA là như nhau thì PSOC còn có OA có thể thay đổi hệ số khuếch đại , bộ lọc số lập trình được ( 3 kiểu chuyển mạch tụ điện) , các cổng logic cứng (đơn giản như chú đảo bít NOT bằng ALU nhưng tớ đảo bít bằng cổng NOT thực sự), bộ nhân tổng MAC ....

    Đánh giá thi PSoC là Hybrid-FPGA
    Lần sửa cuối bởi nothingtolose; 12-07-2005 lúc 04:07 AM

  8. #8
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    3. Khối tạo tần số dao động

    Khối tạo tần số dao động là cần thiết cho sự haọt động cỷa CPU cũng như các khối có chức năng lập trình được. Mỗi một thành phần lập trình được yêu cầu một tần số hoạt động riêng biệt . Vi điều khiển PSoC có một hệ thống dùng để tạo ra các tần số dao động khác nhau, bằng cách lựa chọn các tham số tương ứng. Sơ đồ dưới đây thể hiện hai hệ thống độc lập dùng để tạo ra hai tín hiệu SYSCLK và CLK32 (32Khz)


    + SYSCLK là dao động nội chủ chốt với tốc độ 24MHz, được sử dụng làm tần số tham chiếu cho phần lớn các tín hiệu khác.

    + SYSCLKx2 = 2x SYSCLK = 48Mhz

    + 24V1 = SYSCLK/N1 với N1 là tham số lựa chọn trong khoảng từ 1 đến 16.
    Do vậy 24V1 nằm trong khoảng từ 1.5MHz (N1=16) tới 24MHz (N1=1).

    + 24V2 = SYSCLK/(N1xN2) với (N1xN2) là tham số lựa chọn trong khoảng từ 1 Do vậy 24V1 nằm trong khoảng từ 93.75kHz (N1xN2=16) tới 24MHz (N1xN2=1).
    + 24V3 = (24V2, 24V1, SYSCLK hoặc SYSCLKx2)/N với N từ 1 đến 256.

    + CPU_CLK cung cấp tần số dao động cho CPU ảnh hưởng trực tiếp đến tốc độ thực hiện lệnh. CPU_CLK được lựa chọn là một trong 8 tần số trong khoảng từ 93.75MHz cho tới 24MHz.

    Các tần số 24V1, 24V2, 24V3 và CPUCLK có thể được thiết lập một cách dễ dàng thông qua việc thiết lập các tham số tương ứng trong Device Editor hoặc trong suốt quá trình thực hiện chương trình bằng cách thay đổi 3 bí thấp nhất trong thanh ghi OSCCR0.

    CLK32 là tín hiệu tần số thấp được sử dụng cho các khối có chức năng lập trình được sử dụng cho hoạt động "wake-up" của bộ định thời Sleep trong trường hợp các tín hiệu SYSCLK khác là không tích cực

    Tín hiệu SYSCLK có thể được tạo ra nhờ một bộ dao động chủ bên trong IMO-internal main oscillator trong khi CLK32 có thể được tạo ra nhờ dao động cục bộ bên trong ILO- internal local

    Sai số giới hạn đối với bộ tạo dao động trong là 2.5%. Do vậy đối với các ứng dụng yêu cầu chính xác về thời gian ,tín hiệu SYSCLK nên được cung cấp từ một dao động tham chiếu bên ngoài, doa động ngoài này nằm trong khoảng từ 1 tới 24 Mhz và được cung cấp qua chân P1[4] của PSoC. Tương tự đối với tín hiệu CLK32 cũng có thể được tọa ra bằng 1 dao động tham chiếu ngoài có độ chính xác phù hợp với yêu cầu thiết kế.

  9. #9
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    4. Microcontroller power consumption

    PSoC thực hiện lệnh với tốc độ xấp xỉ gấp hai lần tần số được cung cấp trực tiếp bởi CPUCLK.Mặc dù vậy việc cung cấp tần số hoạt động cao hơn không phải là luôn luôn cần thiết và có ý nghĩa sẽ đạt hiệu suất tổng thể tốt hơn.

    Nhược điểm chính của việc tăng tần số hoạt động chính là hiện tượng tăng công suất tiêu thụ, đây là vấn đề chính ảnh hưởng tới việc cung cấp nguồn hoạt động.

    Một nhược điểm khác của việc tăng tần số hoạt động chính là sự gia tăng của nhiễu điện từ, gây ảnh hưởng tới các thiết bị xung quanh. Do vậy chúng ta cần sử dụng 1 tần số thấp nhất nhưng vẫn đáp ứng đủ yêu cầu về tốc độ cho ứng dụng của chúng ta.

    Tần số mặc định cho VDK của PSoC là 3MHz đây là một giá trị thích hợp đối với yêu cầu tốc độ cũng như công suất tiêu thụ. Để duy trị lâu nhất thời gian hoạt động nhằm tiết kiệm công suất tiêu thụ do phần lớn các VDK chỉ hoạt động theo chu kì, việc tiết kiệm công suất tiêu thụ là cần thiết và có thể đạt được nhờ việc bắt "VDK" rơi vào chế độ "ngủ đông" (Sleep mode) mỗi khi VDK không giữ vai trò quan trọng (ví dụ : khi VDK không xử lý dữ liệu, trao đổi với bộ nhớ dùng DMA ...)

    Việc tiết kiệm công suất tiêu thụ có thể được áp dụng cho mọi tần số khi CPU ngừng thực hiện lệnh, đồng thời CPU32 và SLEEP là không tích cực. Vi điều khiển được "đánh thức" (wake-up) khỏi chế Sleep bằng cách Resset hoặc bằng 1 ngắt được tạo ra bởi bộ định thời Sleep hoặc 1 khối số có sử dụng tần số CPU32K

    Các chân GPIO (General Purpose In/Out) cũng có thể được sử dụng để đánh thức CPU. Bộ định thời Sleep hiểu hiện 1 bộ nhớ đặc biệt có vai trò chủ đạo trong việc tạo ra một ngắt có chu kì có khả năng "đánh thức" CPu ra khỏi chế độ tiết kiêmk công suất. Tần số của ngắt tạo bởi bộ định thời Sleep nằm trong khoảng từ 1 tới 512 KHz

    Sau khi "đánh thức" VDK có thể thực hiện các lệnh bình thường cho tới khi chu kì "ngủ đông" tiếp theo và chờ một ngắt "đánh thức" khác. Chỉ có 1 kiểu ngắt phù hợp cho việc đánh thức VDK khỏi chế độ "ngủ đông" Sleep

    Lần sửa cuối bởi nothingtolose; 14-07-2005 lúc 01:03 AM

  10. #10
    Uỷ viên ban điều hành Box khoa ĐTVT Avatar của nothingtolose
    Tham gia ngày
    Sep 2004
    Bài gửi
    1.817

    Mặc định

    5. Reset

    POR
    Trong quá trình VDK hoạt động, sự thay đổi điện áp cung cấp luôn diễn ra Điều này rất nguy hiểm nếu như điện áp cung cấp thấp hơn 1 giới hạn xác định, lúc này VDK có những hoạt động không thể dự đoán được. Trong những trường hợp phát hiện điến áp cung cấp nhỏ hơn giới hạn cho phép, VDK được
    chuyển tới Power trong chế độ Reset và giữ nguyên ở chế độ này cho tới khi điển áp ổn định nằm trên mức giới hạn, mức giới hạn này có thể được định nghĩa nhờ tham số Trip Voltage

    XRES
    Tín hiệu reset ngoài cho phép người sử dụng thiết lập cho VDK vào trạng thái khởi động thông qua một phím nhấn. Hoạt động Reset đạt được khi tín hiệu XRES mang giá trị "1". Mạch reset đơn giản có thể được thiết kế bằng các điện trở pull-down và 1 chuyển mạc.


    WDR
    Tín hiệu khởi tạo lại Watch dog reset (WDR) được dùng để tránh các vòng lặp vô hạn trong phần mềm hoặc các chương trình sai sót nghiêm trọng, giúp cho hệ thống quay trở lại từ chế độ bắt đầu (start state).

    Tín hiệu WDR được tạo ra từ bộ định thời Watch dog timer (WDT) được khởi động lại theo chu kì bên trong một chương trình chính, sau đó các chương trình con tương ứng được thực hiện

    Trong chế độ bình thường (normal mode) sau một thời gian nhất định, WDT được khởi động lại một lần và chương trình con vẫn tiếp tục thực hiện, nhưng nếu một khối lệnh trong 1 chương trình con có sai sót WDT không thể reset, và WDR xảy ra.

+ Trả lời chủ đề
Trang 1/4 123 ... CuốiCuối

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Chủ đề tương tự

  1. PSoC (Nhóm anh CĐHoàng)
    Gửi bởi namslump trong mục Diễn đàn Học tập và Nghiên cứu KH Sinh viên
    Trả lời: 33
    Bài cuối: 04-04-2007, 01:02 AM
  2. PSoC
    Gửi bởi vitconbk trong mục Giảng đường khoa ĐTVT
    Trả lời: 22
    Bài cuối: 10-04-2006, 07:42 PM
  3. Hỏi về PSoC
    Gửi bởi TBD trong mục Ngành Kỹ thuật điều khiển và Tự động hóa
    Trả lời: 3
    Bài cuối: 03-12-2005, 09:35 PM

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube