मैंने MPSSE मोड (UART को भूल जाएं), MCP2515 और MZ2551 में FT2232H का उपयोग करके एक USB / CAN इंटरफ़ेस बनाया है । MCP2515 वह महत्वपूर्ण टुकड़ा है जिसे आप यहाँ याद कर रहे हैं। अच्छी तरह से अध्ययन करें कि यह क्या करता है। यह वास्तविक CAN नियंत्रक है जो फ्रेमिंग, ACKs, चेकसम जेनरेशन और सत्यापन, संदेश फ़िल्टरिंग और अन्य कम स्पष्ट चीजें करता है जो कि CAN नोड को मानक द्वारा करने की आवश्यकता होती है। यदि आप एक स्निफर चाहते हैं, तो MCP2515 में केवल एक ही मोड है जो बस में कोई प्रसारण की गारंटी देता है। MCP2551 RS-232 के लिए MAX232 या RS-485 के लिए ADM485 के समान, केवल एक गूंगा भौतिक परत एडाप्टर है।
अब यह वास्तुकला सही से दूर है क्योंकि एफटीडीआई एमपीएसएसई तकनीक में अनिवार्य रूप से इंटरप्ट के लिए कोई समर्थन नहीं है (मेरा मानना है कि यह केवल पर्दे के पीछे बल्क यूएसबी ट्रांसफर का उपयोग करता है), इसलिए मुझे नए संदेशों के लिए अक्सर नियंत्रक को सर्वेक्षण करना होगा। यह USB होस्ट नियंत्रक पर बहुत अधिक लोड करता है, लेकिन फिर भी यह गारंटी नहीं देता है कि कोई भी संदेश गुम नहीं हुआ है (MCP2515 2 प्राप्त संदेशों को आंतरिक रूप से संग्रहीत कर सकता है यदि आप "अतिप्रवाह मोड" को सक्षम करते हैं, केवल एक अगर आप नहीं करते हैं)। एक बेहतर समाधान एक उचित माइक्रोकंट्रोलर होगा जिसमें बिल्टइन कैन और यूएसबी पेरीफेरल्स जैसे STM32F105 (103 एक ही समय में USB और CAN का उपयोग नहीं कर सकते हैं)। इस विचार के ठीक क्रियान्वयन के लिए इस परियोजना को देखें । LPC18xx जैसा कि स्टीवन द्वारा सुझाया गया है, वह भी काम करेगा, लेकिन LPC17xx संभवतः सस्ता और खोजने में आसान है।