Thông báo

Collapse
No announcement yet.

CCS vs. C18, C30

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • CCS vs. C18, C30

    Mình thấy các bạn trong box PIC hay sử dụng CCS để lập trình cho PIC trong khi bản thân mình lại dùng C30 cho dsPIC (mình cũng có bản C18 cho PIC).

    Bạn nào đã từng sử dụng cả 2 phần mềm này rồi thì lập một comparision table giúp mình với nhé. Mình đang băn khoăn quá, không biết có nên chuyển sang CCS không.

    Nhân tiện các bác cho hỏi ở VN chỗ nào bán dsPIC và giá cả thế nào. Tôi đang có ông bạn chào dsPIC30F4011 với giá 200.000 VND mà đang chần chừ vì sợ bị hớ.
    Last edited by Gallileo; 02-10-2006, 20:15.

  • #2
    Nguyên văn bởi Gallileo Xem bài viết
    Mình thấy các bạn trong box PIC hay sử dụng CCS để lập trình cho PIC trong khi bản thân mình lại dùng C30 cho dsPIC (mình cũng có bản C18 cho PIC).

    Bạn nào đã từng sử dụng cả 2 phần mềm này rồi thì lập một comparision table giúp mình với nhé. Mình đang băn khoăn quá, không biết có nên chuyển sang CCS không.
    Để viết firmware cho PIC thì có rất nhiều phần mềm, bang chúng của PIC bang cũng dùng rất nhiều phần mềm khác nhau, HTPIC, CCS, C18, C30, PICBasic, mikroC, mikroBasic, mikroPascal, CC5X, IAR for PIC...

    Mình cũng đã dùng một số, mỗi loại có nhiều điểm hay dở riêng:

    Với HTPIC, trình dịch này có thể dịch cho gần như mọi loại PIC, HTPIC cho PIC2/16, HTPICC18 cho PIC18, và HTDSPIC cho dspic. Trước kia thì HTPIC được nhúng trong MPLAB, hiện nay thì HTPIC đã có IDE riêng là HTTIDE phát triển trên nền Java, tôi đánh giá đây là một trong những IDE có giao diện đẹp nhất, nhưng hơi khó dùng
    Ưu điểm của nó là cú pháp rất gần với C chuẩn, cơ cấu dịch rất thông minh trong việc chuyển bank khiến cho file hex sinh ra có kích thước nhỏ. Forum của HTSOFT có khá nhiều cao thủ, bác nào viết HTPIC thì ghé chơi: http://www.htsoft.com/forum.
    Nhược điểm, nó là trình dịch đắt nhất cho PIC, những lệnh có sẵn hạn chế gần như chẳng có gì, chỉ được vài lệnh đọc ghi EEPROM, FLASH và vài lệnh xử lý số.

    Với CCS tui có dùng một vài lần, cũng chỉ đánh giá sơ bộ
    Tập lệnh ăn sẵn của nó khá lớn, làm gì chỉ cần lôi ra mà dùng, thằng này có IDE riêng, giao diện xấu, bọn CCS còn có ICD riêng, đây là một trong những mạch nạp, debug cho PIC thuộc hàng nhanh nhất.
    Nhược điểm của nó, theo tui cũng bắt nguồn từ việc ăn sẵn của nó làm cho người mới học không thể hiểu sâu về PIC, bác nào làm giao tiếp I2C cho PIC viết bằng CCS chỉ mất 1 tiếng, nhưng viết bằng HTPIC phải làm cả ngày, nhưng nếu viết bằng CCS thì không thể viết được cho họ khác ví dụ như 8051 chẳng hạn, còn với HTPIC thì viết lại cho thằng nào cũng được. Nhược điểm nữa của CCS là file hex dịch ra lớn, mặc dù trả mấy khi viết hết Flash của PIC nhưng đây cũng là một nhược điểm. Chán nhất là CCS chưa có trình dịch cho dsPIC.

    Với C18,C30 hai thằng này là sản phẩm của Microchip, C18 cũng phát triển theo hướng của HTPIC, tui đánh giá cao C18. Còn C30 có tập lệnh ăn sẵn dành cho DSP dùng được Bộ language toolsuit của C30 khá đầy đủ.

    Mikrobasic, mikroC, mirkoPascal, phát triển theo hướng giống như CCS, thằng này cũng có IDE riêng, tập lệnh ăn sẵn cuả nó khá lớn đủ hết mọi thứ, bác nào cao thủ PIC rùi thì dùng thằng này cho nhanh cũng tốt , bọn này khá hơn CCS ở chỗ nó có đủ thể dịch được cho cả dspic, nhưng thằng này còn nhược điểm còn phải sửa chữa, chán nhất là cơ cấu gọi chương trình con trong ngắt, có thể vào forum của nó để xem. Điểm hay nhất của bọn Mikro thay tui chính là mấy cái kit phát triển của nó, theo tui đánh giá đây là những kit thuộc loại xịn nhất cho PIC.

    PicBasic thì có IDE riêng là Microcode Studio, tui đã dùng thằng này để viết, theo đánh giá cá nhân thì tui không thích, đồ ăn sẵn không nhiều, cú pháp không hay, bác nào view mấy cái thư viện của nó mờ xem, toàn lệnh nó viết sẵn trong đó, file dịch ra chắc chắn to oành.

    CC5X, IAR theo tui biết có ít người dùng, tui ấn tượng nhất ở thằng CC5X là nó không thể xử lý trực tiếp số lớn hơn 16bit.
    Còn IAR tui đã đọc có thằng đánh giá nó rất tốt, nhưng chưa dùng qua nên không bốc phét

    Đây là nhận xét cả nhân các bác nhá, em sai thì các bác sửa, chứ lại cãi nhau thì em không chơi

    Comment


    • #3
      Nguyên văn bởi Gallileo Xem bài viết
      Mình thấy các bạn trong box PIC hay sử dụng CCS để lập trình cho PIC trong khi bản thân mình lại dùng C30 cho dsPIC (mình cũng có bản C18 cho PIC).

      Bạn nào đã từng sử dụng cả 2 phần mềm này rồi thì lập một comparision table giúp mình với nhé. Mình đang băn khoăn quá, không biết có nên chuyển sang CCS không.
      Ve chuyen so sanh giua CCSC va cac trinh dich khac (HTPICC, C18,...), y kien cua minh cung kha giong y kien cua bac gi o tren. Ngoai ra, phai noi la phan tro giup (help +manual) cua CCSC hoi do*? hon. Thang HTPICC co cuon manual kha day du va tien su dung (file pdf co chi muc, bookmark va cac link noi trong sach giup minh de doc hon). Con CCSC ? (Help qua te, bao dam bat dau voi CCSC ma khong co giup do la kha met moi chu ko de), cuon manual thi gan nhu lap lai y chang Help.
      Ngoai ra, thang CCSC co ve khong cho nguoi su dung tac dong den thanh ghi nhu HTPICC hay C18. Do do, doc datasheet de lam gi? hic hic, mac du van co the lam duoc, nhung vi du tac dong den TRISA chang han, ta lai phai khai bao TRISA o dia chi bao nhieu, cuc bo me! Con HTPICC thi khoe hon, da tu khai bao dia chi thanh ghi kem theo ten thanh ghi giong y chang trong datasheet, thuc la suong nhu tien.
      Nguyên văn bởi Gallileo Xem bài viết
      Nhân tiện các bác cho hỏi ở VN chỗ nào bán dsPIC và giá cả thế nào. Tôi đang có ông bạn chào dsPIC30F4011 với giá 200.000 VND mà đang chần chừ vì sợ bị hớ.
      dsPIC30F4011 ma ban toi 200.000VND thi tui thay hoi dat. Khong biet hang cua thang ban troi danh do co phai mua khong hay lai sample. Neu sample nhu tui, tui chi ban 90000VND. Ban vay loi qua troi roi, hehe! (noi vay chu co ai mua dau).

      on in = don't you know?

      Comment


      • #4
        Cảm ơn hai bạn phamthaihoa và wonbinbk. Mình cũng thấy C30 có sẵn thư viện khá tốt nên những bạn mới chuyển qua dsPIC sẽ không gặp khó khăn gì quá lớn. Chắc mình sẽ tiếp tục sử dụng C30 thôi.

        Mình thấy Microchip không gửi sample đến VN. wonbinbk có cách nào xin thì mách mình với nhé.

        Trên trang nhà của Microchip, dsPIC30F4011 có giá >=5USD rồi, còn Digikey cũng list giá thấp nhất cỡ 9USD. Nên nếu bạn bán có 90.000 thì quá rẻ rồi, bạn có mây con cần bán vậy. Tớ thấy picvietnam.com rao bán dsPIC30F4011 với giá 300.000, đắt quá .

        Comment


        • #5
          bạn đặt hàng bạn Newday ý! KHông có giá mềm nhưng chắc có giá đúng!
          Cũ người mới ta!

          Comment


          • #6
            @ Gallileo : Bác xài dspic thì không thể không dùng C30 .Vì hiện tại chỉ có 2 bộ dịch C cho dspic là C30 và HTDSPIC , bác có thể chọn 1 trong 2 ,nhưng cá nhân em thì dùng C30 .
            @ wonbinbk : vậy là chú không biết xài CCS rồi , để hôm nào gặp tui chỉ cho

            Comment


            • #7
              Bạn batbatdieu dùng dsPIC cho dự án gì vậy. Mình thấy dsPIC có giá mềm, dễ phát triển nhưng cũng đủ mạnh cho các ứng dụng điều khiển cỡ vừa và nhỏ kiểu như điều khiển động cơ hay các mạch đo-thu thập dữ liệu.

              Bản thân mình đang nối các con dsPIC với nhau theo chuẩn CAN để điều khiển robot. Về khoản này thì AVR hay 8051 thua xa dsPIC rồi. Nhớ hồi trước mình có ý định sử dụng dòng T89C51CC01/02/03 có hỗ trợ CAN của ATMEL cho đồ án tốt nghiệp nhưng vì giá thành của nó đắt quá (không có sample) cộng với khó kiếm nên đành ngậm ngùi chuyển qua RS485.

              Anyway, rất vui được biết các bạn cùng làm về dsPIC. Hy vọng sau này có dịp cộng tác cùng mọi người.

              Comment


              • #8
                Nguyên văn bởi batbatdieu Xem bài viết
                @ Gallileo : Bác xài dspic thì không thể không dùng C30 .Vì hiện tại chỉ có 2 bộ dịch C cho dspic là C30 và HTDSPIC , bác có thể chọn 1 trong 2 ,nhưng cá nhân em thì dùng C30 .
                Trình dịch cho dspic còn có IAR for dspic, mikroC, mikroBasic, mikroPascal cho dspic nữa cơ mà !
                Tất nhiên không thể thiếu ASM30

                Comment


                • #9
                  Măc dù dùng dsPIC đã một thời gian rồi nhưng cho đến nay mình vẫn mới chỉ dùng C30 + MPLAB + ICD2 nên không thể so sánh được như các bác. Sau đây là một vài nhận xét cá nhân của mình về C30 cũng như dsPIC:

                  - Ngoài hệ thống thư viện chuẩn của ANSI C thì C30 còn cung cấp thêm 3 thư viện chính khác gồm DSP Algorithm Library, DSP Math Library và DSP Peripheral Library. DSP Peripheral Libbrary rất hữu ích đối với những bạn mới làm quen với dsPIC, giúp giảm thời gian mày mò tìm cách cài đặt chế độ hoạt động cho CPU cũng như cho các module. Còn hai thư viện còn lại sẽ giúp bạn trong quá trình phát triển phần mềm ứng dụng, bạn chỉ cần tập trung vào việc cài đặt thuật toán vì trong tay đã có sẵn thư viện PID, các hàm tính sin, cos hay các hàm tính toán FFT, FIR, IIR... Ngoài ra các thư viện đều opensource nên các bạn có thể thay đổi theo ý thích của bạn.

                  - Đối với những bạn đã từng có kinh nghiệm lập trình C trên các hệ vi điều khiển khác như 8051 hay AVR thì việc chuyển sang dsPIC đặc biệt dễ dàng. Các quy phạm viết chương trình thời gian thực hầu như không thay đổi (trừ cách gọi interrupt service routine,...). Do vậy mỗi khi bạn muốn sử dụng một module nào đó thì bạn chỉ cần tham khảo datasheet về module đó để biết cách khởi tạo module + cách truyền/nhận dữ liệu cho/từ module đó.

                  - Khả năng chuyển đổi kiểu của C30 kém. Đây thực ra cũng là một đặc tính cố hữu của các trình biên dịch cho uC. Mình đã phải trả giá mất một ngày để debug một lỗi liên quan đến chuyển kiểu.

                  - Nhiệt độ chip cao. Mình sử dụng dsPIC30F4012 20I/SP với thạch anh 20Mhz và chế độ X2 thì không thể chạm tay vào chip quá 10s. Tuy nhiên chip vẫn hoạt động bình thường.

                  - Thời gian tính toán nhanh vì có lõi DSP nên có thể cài đặt các thuật toán có khối lượng tính toán lớn (cái này thì ăn đứt 8051, AVR và PIC). Các bạn có thể tra thời gian thực hiện các hàm trong thư viện trên trang nhà của Microchip.
                  Last edited by Gallileo; 04-10-2006, 04:05.

                  Comment


                  • #10
                    Nguyên văn bởi batbatdieu Xem bài viết
                    @ wonbinbk : vậy là chú không biết xài CCS rồi , để hôm nào gặp tui chỉ cho
                    Oh, Batbatdieu!
                    Cach do co phai la lam mot lo #locate (or #byte) roi luu thanh file.h, moi lan viec phai include no vao khong?
                    Neu khong phai, co cach nao hay hon, tien hon, batbatdieu len day luon di, neu khong thi email, hoac msg.

                    on in = don't you know?

                    Comment


                    • #11
                      Nguyên văn bởi Gallileo Xem bài viết
                      - Nhiệt độ chip cao. Mình sử dụng dsPIC30F4012 20I/SP với thạch anh 20Mhz và chế độ X2 thì không thể chạm tay vào chip quá 10s. Tuy nhiên chip vẫn hoạt động bình thường.
                      Chế độ X2 nghĩa là sao?

                      Tôi giả sử là bạn đang dùng thạch anh 20 MHz, và dùng PLL4. Với chip cho phép 20 MIPS, bạn chạy ở 20 MIPS là đụng nóc rồi, lẽ đương nhiên chip phải nóng, còn mức độ nóng như thế nào thì còn tùy nhiệt độ môi trường, cách thức bạn giải nhiệt cho chip (nếu có), và cả package của chip được dùng nữa. Nếu chip đang tiêu tán 1W, vỏ chip có nhiệt trở 41 độ/W (bạn không dùng cánh tản nhiệt cho chip), và nhiệt độ môi trường là 35 độ C, thì việc bạn không thể chạm tay vào chip quá 10s là điều dễ hiểu.

                      Thân,
                      Biển học mênh mông, sức người có hạn

                      Comment


                      • #12
                        Chế độ X2 là chế độ nhân đôi tần số xung nhịp. Do vậy, mặc dù mạch hiện tại mình sử dụng thạch anh ngoài 20Mhz nhưng thực tế dsPIC chạy với tốc độ 40Mhz.

                        Thực ra lúc đầu mình cũng hơi bất ngờ vì dsPIC loại 20I/SP lại có thể chạy được ở tốc độ 40 MIPS. Nhưng mạch của mình hiện vẫn chạy ổn định trong một thời gian khá dài nên mình cũng không chú ý đến vấn đề này nữa.

                        Comment


                        • #13
                          Bạn chưa nắm rõ về dsPIC!

                          Nếu dsPIC30F4012 thực sự chạy ở 40 MIPS thì tần số xung clock của nó phải là 160 MHz, và bạn đang dùng PLL 8x. Điều này đang vi phạm những giới hạn do nhà sản xuất đưa ra. Tôi sẽ rất ngạc nhiên khi chip của bạn chưa bị nổ toác ra khi chạy ở tần số đó.

                          Thân,
                          Biển học mênh mông, sức người có hạn

                          Comment


                          • #14
                            Bạn kinh ngạc thì tùy bạn thôi, mình chỉ nói lại những điều mắt mình chứng kiến. Còn kí hiệu 20I/SP có nghĩa là con dsPIC đó có thể chạy được với tốc độ 20 MIPS, tức là Fosc của nó có thể đạt 80 MHz.

                            Đúng là hiện tại mình đang chạy với Fosc gấp đôi giá trị cho phép (160MHz) nhưng nó vẫn hoạt động. Mục đích của mình là muốn chia sẻ kinh nghiệm của bản thân với các bạn. Còn có làm theo hay không là tùy ở các bạn. Ngoài ra mình đã làm với nhiều loại uC nhưng chưa thấy con nào nổ toác ra cả, nếu bạn namqn có kinh nghiệm gì về mấy vụ nổ đó thì xin bạn chỉ giáo.

                            Comment


                            • #15
                              Việc overclocking các dsPIC thì trên diễn đàn của Microchip đã có nhiều người đề cập. Một số người dùng có kinh nghiệm đề nghị không nên làm việc này, đặc biệt cho các sản phẩm thương mại. Bản thân tôi chưa bao giờ làm việc này, nên chưa từng làm cho các vi điều khiển nổ toác vỏ, nhưng các vi mạch bị nổ vì phát nóng quá mức thì tôi đã từng thấy trong một số thiết kế của những người khác.

                              Thân,
                              Biển học mênh mông, sức người có hạn

                              Comment

                              Về tác giả

                              Collapse

                              Gallileo Tìm hiểu thêm về Gallileo

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X