2 استكمال الإنتاج في شركة تطوير العقبة...

P

Priya

Guest
لقد CS5550 الذوابة شركة تطوير العقبة من المنطق.سجل الناتج هو شكل من

-- (2 ^ 0) (2 ^ -1) (2 ^ -2)..........(2 ^ -23)

هذا هو تسجيل 24 بت.ومن الوارد في datasheet : سجل تتضمن هذه القيمة الأخيرة من قياس نتائج AIN1 وAIN2.ستكون النتائج في إطار مجموعة من -1.0 <= AIN1 ، AIN2 <1.0.قيمة تتمثل في استكمال 2 التأشير ، مع ثنائي نقطة لحق للMSB (MSB يكون سلبيا الترجيح. وهذه القيم طولها 22 بت. كبيرة لا تقل عن 2 بت ، (تقع في جانب اليمين المتطرف) لا معنى لها ، ودائما يكون لها قيمة "0" الأول لشركة تطوير العقبة استخدام هذا التطبيق على نطاق وزنها. كيف يمكن استخدام الناتج من شركة تطوير العقبة لحساب الوزن؟ حتى الان التعامل مع شركة تطوير العقبة التي 'sالناتج في الترميز وثنائي يمكنني في المقابل مباشرة خريطة الوزن. ليس لدي فكرة
، مع استكمال الشكل 2.

مساعدتي.

 
لحساب من أجل (أ) 2 استكمال قيمة تحتاج إلى قلب كل بت وبعد ذلك تضاف واحدة.

على سبيل المثال لinteger وقعت مع 16 بت :

1 = 0001
-1 = FFFF
(قلب 1 سيكون لديك FFFE
ثم تضيف 1 عليك تحقيق FFFF)

بذلك عدد ايجابيات ببساطة يمثل قيمة ثنائية مع والسلبيات هي reperesented ثنائية مع قيمة إيجابية لاغية ثنائية مع نفس الحجم.

فإن MSB هو توقيع (توقيع بت) من العدد : اذا 0 ، عدد ايجابي وسلبي لو (1).

2 استكمال يستخدم عادة لتمثيل قعت integers.

 
انظر هنا

http://www.vb-helper.com/tutorial_twos_complement.html

 
لتحويل هذا الشكل (2) استكمال واحد لانك على علم بسيط جدا.

ما عليك سوى قلب أعلى قليلا ما تقرأ فيه.
على سبيل المثال 1 (0x001 يصبح 801).-1 (0xFFF) لتصبح (7FF).وبهذه الطريقة أعلى قيمة يقابل الجهد الفعلي لأعلى ، وأدنى قيمة فعلية أقل يقابل الجهد.

تمنيات

 
مرحبا ،
MSB
-------------------------------------------------- ----------------------
| -- (2 ^ 0) | (2 ^ (-1)) | (2 ^ (-2)) | (2 ^ (-3)) | (2 ^ (-4)) | (2 ^ (-5 )) |
-------------------------------------------------- ----------------------

-------------------------------------------------- ---------------------------
| (2 ^ (-6)) | (2 ^ (-7)) | (2 ^ (--

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="هادئ" border="0" />

| (2 ^ (-9)) | (2 ^ (-10)) | (2 ^ (-11)) |
-------------------------------------------------- ---------------------------

-------------------------------------------------- ---------------------------------
| (2 ^ (-12)) | (2 ^ (-13)) | (2 ^ (-14)) | (2 ^ (-15)) | (2 ^ (-16)) | (2 ^ ( -17)) |
-------------------------------------------------- ---------------------------------

-------------------------------------------------- ---------------------------------
| (2 ^ (-1

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="هادئ" border="0" />

| (2 ^ (-19)) | (2 ^ (-20)) | (2 ^ (-21)) | (2 ^ (-22)) | (2 ^ (-23)) |
-------------------------------------------------- ---------------------------------
LSB

وهذا يعني أن القيمة هي في جزء صغير.أليس كذلك؟وسوف يوجد بين -1 و 1 كما هو وقعت التسجيل.اذا كانت هذه القيمة قد سجل 0x808080 ثم ينبغي أن يكون مثل (-1 1 * (2 ^ (--

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="هادئ" border="0" />

( 1) * (2 ^ (-16))) = (-1 0.00390625 0.0000152587890625) = -0.9960784912109375؟وينبغي لي أن هذه القيمة الى خريطة الأوزان؟

مساعدتي؟

 
مرحبا ،
كيف حالك تجهيز الناتج من شركة تطوير العقبة؟FPGA / حزب اليسار الديمقراطى.
يبدو وكأنك تستخدم بعض المعالجات.لا تحتاج خريطة القيم.يمكنك فقط استخدام بعض العمليات المنطقية لconvvert إلى 2S تكمل.بعضهم اقترح في الردود السابقة.ما تحقق من الإشارة إلى أن شركة تطوير العقبة الجهد.هذا سيحدد ما إذا كانت المدخلات من -1 إلى 1 أو طائفة أخرى.إذا كان لديك المزيد من المشاكل الوزراء لي.
ر.

 
أنا استخدم Atmels 89C51 microcontroller.ولهذا
، فمن الضروري لتحويل استكمال الشكل 2.بالفعل النتيجة في استكمال الشكل 2.من قبل كنت قد تناولت ADUC816.16 بت النتيجة ستكون متاحة في بيانات سجل ثنائية في الترميز.لنفترض أن النتيجة في السجل
0010 0101 1111 1001 ب = 0x25F9.وأود أن خريطة هذه القيمة المناظرة في الوزن من قبل 0x25F9 / س = صاد وعين * 0.1 = ذ.0.1 فيها هو قرار وض لي الناتجة الوزن.هنا مع استكمال 2 الناتج كيف يجوز لي؟

 
مرحبا ،
كنت ألقي نظرة على صحيفة بيانات.المشكلة هي u'r
كيفية رسم خريطة الانتاج الى الوزن؟
يبدو عليك أن تأخذ في الاعتبار والحصول على تعويض.إذا كنت قد فعلت ذلك لا نتجاهل هذا.الامر قد يستغرق بعض الوقت قبل الحصول على ما يمكن حقا مشكلتك ومساعدتك.
ر.

 
Priya ،

تقديرك
، ، 0010 0101 1111 1001 ب = 0x25F9 ، هي قيمة إيجابية ، لذلك عليك 0x25F9 في حجم وحدات المهندس (أي 25F9 (عرافة) = 9721 (ديسمبر) 9721 و ص = / x. أنت تعرف شيء ايجابي لان قيمة MSB = 0.

على خلاف ذلك ، إذا كان العدد سيكون 1101101000000111 = DA07 عليك أن تعترف هذه القيمة السلبية.ومن ثم ، MSB الاختبار ، إذا كان
(1) قيمة سلبية.في هذه الحالة واحد من طرح DA07.(أي 1101101000000111 -- 1 = 1101101000000110 = DA06).ثم قلب النتيجة.أي قوائم الجرد (DA06) 25F9 = = 9721 * -1 = -9721.وأخيرا لا المهندس في حجم الوحدات.

 
هل يبدو هذا ، 2 ^ -23 يقابل أقل قيمة AIN1 وهو ما يؤدي إلى حدوث تغيير في LSB؟

 
تحميل datasheet الأول من هذا الطفل وحصل على قراءة سريعة.انها قضية معقدة واحدة على الرغم من تميز.إذا كنت تقرأ في الصفحة 22 من وثيقة المعلاق المنطق (DS630PP1) اتخذتم إجابة على السؤال الأخير.

افترض أنك تريد استخدام شكل وقعت (-1 و 1) وحتى 2 ^ -23 و 2 ^ -22 تقع على righ جانب من كلمة (LSB) ، وأعلنت أنها كانت على الدوام "صفرا" ذلك لن يسهم القرار.LSB الحقيقي سيكون (منها ما يلي) 2 ^ -21 ذلك القرار سوف يكون 22 بت ،
على الرغم من كامل كلمة هو 24 بت.

شيء آخر عن شكل غير عادي يدعون.وذكروا ان العدد هو تمثيل ثنائي -1 إلى 1 (وقعت الشكل) ، لذلك هو وضع ثنائي للحق MSB (2 ^ 0).ولكن اعتقد انه يمكن ان نعتبر هذا الامر 2 ^ 23 عدد ثنائية مع وترشيدها (2 ^ 23) -1 / 2 ^ 23 الإيجابية لعدد (حتى لا تساوي 1) و 2 ^ 23 / 2 ^ 23 *- 1 لسلبية.

 
إذ كان آخر 2 بت 0 دائما ، وينبغي أن أغتنم 24 بت (أي النظر في الماضي 2 بت صفرا) ، والخريطة في الوزن
، أو أن أغتنم أول 22 بت وحدها (نبذ الماضي 2 بت ومعالجة 22 بت حسب القيمة) والخريطة في الوزن.

 
أنا فعلت هذا من هذا القبيل.هل هو صحيح؟2 ^ 24 = 16777216.اريد كغ في الوزن وفقا للقرار 0.1.منقسما 16777216/1500 = 11184 (2BB0).2BB0 عندما تمثل في شكل كسور يعطي 0.001333237.
وكم كنت حساب 0.001333237 في الحصول على نتيجة.0xFFFFFF الانتاج الرقمي للخرائط 0 الوزن 0x000000 ل75kg و0x7FFFFF خرائط 150kg.تلك القيمة عن طريق تقسيم 10 ويعطي وزنا.

int DigitalOutput طويلة ؛
int RaiseToPower ؛
int ShiftBit ؛
تعويم CalculatedValue = 0.0f ؛
توقع تعويم = (0x800000 & DigitalOutput)؟- 1.0f : 1.0f ؛
تعويم weightvalue ؛
int WeightInt ؛

ل(RaiseToPower = 23 ؛ RaiseToPower> 0 ؛ RaiseToPower --)
(
إذا كان (DigitalOutput & ((الطويلة) 1 <<ShiftBit))
(
CalculatedValue = 1.0f / (تعويم) ((الطويلة)
1 <<RaiseToPower) ؛
)
ShiftBit ؛
)
= weightvalue علامة * CalculatedValue ؛
WeightInt = weightvalue/0.001333237 ؛
WeightInt = WeightInt 750 ؛
weightvalue = (تعويم) WeightInt/10 ؛

تمنيات ،
Priya.

 

Welcome to EDABoard.com

Sponsor

Back
Top